Docker镜像常用指令
启动Docker
sudo systemctl start docker
查看Docker版本
docker version
搜索镜像
docker search
用来搜索 Dcoker Hub
中的镜像。例如 :
docker search java
下载镜像
使用docker pull
从Docker Rigistry
中下载镜像,例如:
docker pull java
列出镜像
docker images
即可列出已经下载的镜像。
docker images
删除本地镜像
- 删除指定名称的镜像
docker rmi hello-world
docker rmi -f hello-world //强制删除
- 删除所有镜像
docker rmi -f $(docker images)
Docker容器常用指令
新建并启动容器
使用 docker run
命令来新建并启动一个容器。选项列表:
-d
: 表示后台运行-P
: 随机端口映射-p
: 指定端口映射,有以下可选参数:
ip:hostPort:containerPort
ip::containerPort
ip:hostPort:containerPort
containerPort
--network
: 指定网络模式,该选项有以下可选参数:
--network=bridge
: 默认选项,表示连接到默认网关。--network=host
: 容器使用宿主的网络。--network=container
: NAME_or_ID,告诉Docker让新建的容器使用自己已有的网络配置。--network=none
: 不配置该容器的网络,用户可自定义网络配置。
例1:
docker run java /bin/echo 'Hello world'
例2:
docker run -d -p 91:80 nginx
启动一个nginx容器,没有镜像会先下载一个镜像。-d
是后台运行,-p
开放容器端口到宿主机端口。
访问 http://Docker主机IP:91/
就会看到;
列出容器
使用 docker ps
命令,默认可列出运行中的容器。要列出所有容器可以使用docker ps -a
- CONTAIER_ID : 容器id
- IMAGE : 镜像名称
- COMMAND : 表示启动时运行的命令
- CREATED : 创建时间
- STATUS : 容器运行的状态,UP表示运行中,Existed表示已经停止
- PORTS : 容器对外的端口
- NAMES : 表示容器名称,由Docker默认生成,也可使用
docker run
命令的--name
选项自行指定
停止容器
使用docker stop
命令停止容器。
docker stop de4984c7ea98 //根据 CONTAIER_ID 来删除
docker stop sad_noyce //根据 NAMES 来删除
de4984c7ea98
可以从docker ps
命令中查看运行容器的CONTAIER_ID
。同理sad_noyce
表示容器名称。
强制停止容器
可使用 docker kill
来强制停止容器。
docker kill de4984c7ea98 //de4984c7ea98 为 CONTAIER_ID
启动已停止的容器
使用docker run
命令,即新建并重启一个容器。对已经停止的容器,可以用docker start
来启动。例如:
docker start de4984c7ea98 //de4984c7ea98 为 CONTAIER_ID
重启容器
使用docker restart
来重启容器。该命令相当于先执行docker stop
然后执行docker start
进入容器
某些场景下,可能要进入运行中的容器。
- 使用
docker attach
进入容器
docker attach de4984c7ea98 //de4984c7ea98 为 CONTAIER_ID
当多个窗口同事 attach
一个容器的时候,所有的窗口都同步显示,有一个阻塞的话,其他窗口也无法操作。所以并不太方便。
- 使用
nsenter
进入容器
首先要找到容器的第一个进程PID
docker inspect --format "{{.State.Pid}}" de4984c7ea98 //使用时,只需要改de4984c7ea98为你的 CONTAIER_ID 即可
然后根据PID,使用一下命令进入容器。
nsenter --target 3028 --mount --uts --ipc --net --pid //3028 是容器的PID
删除容器
使用docker rm
即可删除指定容器。
例1:
docker rm de4984c7ea98 //de4984c7ea98 为 CONTAIER_ID
该命令只能删除已经停止运行的容器,如需删除正在运行的容器,需要使用-f
参数
例2:
docker rm -f de4984c7ea98 //de4984c7ea98 为 CONTAIER_ID
你也可以删除所有容器,例如:
docker rm -f $(docker ps -a -q)
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/16114.html