DAY2_Docker常用命令

学习笔记。B站视频连接:https://www.bilibili.com/video/BV1Vs411E7AR?p=19

docker运行的底层原理

为什么dockers比VM要快?

(1) docker 有着比虚拟机更少的抽象层。由亍docker不需要Hypervisor实现硬件资源虚拟化,运行在docker容器上的程序直接使用的都是实际物理机的硬件资源。因此在CPU、内存利用率上docker将会在效率.上有明显优势。
(2) docker 利用的是宿主机的内核,而不需要Guest OS。因此,当新建一- 个容器时,docker不需要和虚拟机一样重新加载一个操作系统内核。仍而避免引寻、加载操作系统内核返个比较费时费资源的过程,当新建一个虚拟机时,虚拟机软件需要加载GuestOS,返个新建过程是分钟级别的。而docker由于直接利用宿主机的操作系统则省略了返个过程,因此新建一个docker容器只需要几秒钟。

在这里插入图片描述

docker常用命令

docker help command
docker info
docker version
docker --help
docker image command

一个镜像可以生成多个容器实例

docker images   # 列出本地的docker镜像
docker images -a # 列出本地所有的镜像(含中间映像层)
docker images -q # 只显示镜像id
docker images --digests  # 显示镜像的摘要信息
docker images --no-trunc # 显示镜像的完整信息
docker search xxx # search xxx's images from Official website 
docker search -s 30 xxx # star num>30
docker search -s 30 --no-trunc xxx # star num>30 and show the complete information
docker search --automated   # only list automated build type images
docker pull xxx # pull images:latest from 
docker rmi xxx  # default : latest # delete images from your depository, but there may be some error 
docker rmi -f xxx # mean that you force to do delete

# delete more once
docker rmi -f helloworld tomcat xxx xxxx xxxxx

#delete all
docker rmi -f $(docker images -qa)

docker container command
# create and run a container
docker run [OPTIONS] IMAGE [COMMAND] [ARG...]
OPTIONS :
--name="容器新名称"   # 为容器指定一个名字
-d # 后台运行容器,并返回容器ID,也即启动守护式容器
-i # 较常用 以交互模式运行容器,通常与-t同时使用
-t # 较常用 以容器重新分配一个伪输入终端,通常与-i同时使用
-P # 随机端口映射
-p # 指定端口映射,有以下四种格式
	ip:hostPort:containerPort
	ip:containerPort
	hostPort:containerPort
	containerPort

eg:docker run -it --name="centos01"  0d12
docker run -it --name centos02  0d12
# list all running contioners 
docker ps [OPTIONS] 
docker ps默认显示当前正在运行的容器
OPTIONS :
-a # 列出当前所有正在运行的容器和历史上运行过的
-l # 显示最近创建的容器
-n # 显示最近n个创建的容器
-q # 静默模式 只显示容器编号
--no-trunc # 不截断输出
# exit 退出容器 有两种退出方式
exit   # 容器停止退出
ctrl+P+Q   # 容器不停止退出
# start
docker start 【容器名/ID】
# restart
docker restart 【容器名/ID】
# stop 可以慢慢停止
docke stop 【容器名/ID】
# stop firecely  强制停止
docker kill 【容器名/ID】
# delete stopped container
docker rm 【容器ID】  # 删除镜像是rmi,这里是rm,删除容器。可以一次删除多个
# 一次性删除多个
docker rm -f $(docker ps -a -q) # 删除所有
docker rm -f $(docker ps -q) # 删除正在运行的
docker ps -a -q | xargs docker rm # 删除所有

IMPORTANT
# 启动守护式容器 查看一下run的-d参数
docker run -d --name="centos03"  0d12   # it是前台交互
# 这样就不会进入centos,而是在后台运行
# 使用docker ps的命令并没有显示执行的这个容器

在这里插入图片描述

docker run -d centos /bin/sh -c "while true;do echo hello zzyy;sleep 2;done"
# 执行这句话后,也会生成一个dockers容器,但是不在前台运行,而是在后台运行,每两秒输出一个hello zzyy
# 可以使用以下命令查看
docker logs 【容器id】
docker logs -t【容器id
# 查看容器日志
docker logs -f(追加) -t(过去的逐条详细显示) --tail 【倒数夫人第几行,与tail匹配】【容器ID】
eg:
docker logs -t -f --tail 3 【容器ID】
# explore the process that run in container 查看容器内运行的进程
docker top 【容器ID/名字】

在这里插入图片描述
在这里插入图片描述

# explore the details in the container
docker inspect 【容器ID/名字】
# 进入正在运行的容器并以命令行交互
docker exec -it 【容器ID/名字】 bashShell
eg: docker exec -t 【容器ID/名字】 ls -l /tmp
# 不用进到docker里面,就可以执行ls -l /tmp这个命令(只可以用到在运行的容器上(up)),结果返回到外面
eg: docker exec -it 【容器ID/名字】 /bin/bash
# 会进到这个容器里

docker attach【容器ID/名字】 

# 注意上面两个命令都是进行正在运行的容器,如果容器没有运行,那么需要先start

在这里插入图片描述

# 从容器内拷贝文件到主机上
docker cp 【容器ID】:容器内路径 目的主机路径 

小总结

视频截图

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Docker是一种容器化技术,可以在不同的操作系统上运行应用程序。Docker Compose是一个用于定义和运行多容器Docker应用程序的工具。 以下是一些常用的DockerDocker Compose命令: ### Docker - `docker run`: 运行一个Docker容器。 - `docker ps`: 列出正在运行的Docker容器。 - `docker images`: 列出所有本地镜像。 - `docker build`: 使用Dockerfile构建一个Docker镜像。 - `docker push`: 将本地镜像上传到Docker Hub或其他Docker镜像仓库。 - `docker pull`: 从Docker Hub或其他Docker镜像仓库中下载一个镜像。 - `docker rm`: 删除一个或多个Docker容器。 - `docker rmi`: 删除一个或多个本地Docker镜像。 ### Docker Compose - `docker-compose up`: 构建并启动一个Docker Compose应用。 - `docker-compose down`: 停止并删除一个Docker Compose应用。 - `docker-compose ps`: 列出正在运行的Docker Compose服务。 - `docker-compose logs`: 查看一个Docker Compose服务的日志。 - `docker-compose exec`: 在一个Docker Compose服务中执行一个命令。 - `docker-compose build`: 构建一个Docker Compose服务的镜像。 - `docker-compose pull`: 下载一个Docker Compose服务的镜像。 ### Docker Compose配置文件 Docker Compose使用YAML格式的配置文件来定义多容器Docker应用程序。以下是一个示例配置文件: ``` version: '3' services: web: build: . ports: - "5000:5000" redis: image: "redis:alpine" ``` - `version`: 定义配置文件使用的Docker Compose版本。 - `services`: 包含一个或多个Docker容器服务的列表。 - `build`: 构建一个Docker镜像。 - `image`: 使用现有的Docker镜像。 - `ports`: 映射容器端口到主机端口。在此示例中,容器的5000端口将映射到主机的5000端口。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值