docker 常用命令总结
docker 常用命令总结
docker search centos:7.2.1511 #带指定版本号
docker search centos #不带版本号默认 latest
docker pull 仓库服务器:端口/项目名称/镜像名称:tag(版本)号
查看本地镜像:docker images
REPOSITORY #镜像所属的仓库名称
TAG #镜像版本号(标识符),默认为 latest
IMAGE ID #镜像唯一 ID 标示
CREATED #镜像创建时间
VIRTUAL SIZE #镜像的大小
命令总结:
docker load -i centos-latest.tar.xz #导入本地镜像
docker save centos > /opt/centos.tar #centos #导出镜像
docker rmi 镜像 ID/镜像名称 #删除指定 ID 的镜像,通过镜像启动容器的时
候镜像不能被删除,除非将容器全部关闭
docker rm 容器 ID/容器名称 #删除容器
docker rm 容器 ID/容器名-f #强制删除正在运行的容器
删除容器操作
docker stop $(docker ps -a -q) #正常关闭所有运行中的容器
docker kill $(docker ps -a -q) #强制关闭所有运行中的容器
docker rm -f docker ps -aq -f status=exited
批量删除已退出容器
docker rm -f $(docker ps -a -q) 批量删除所有容器
会直接进入到容器,并随机生成容器 ID 和名称
[root@docker-server1 ~]# docker run -it docker.io/centos bash
[root@11445b3a84d3 /]#
#退出容器不注销 ctrl+p+q
docker ps -a #显示所有容器
指定端口映射:
方式 1:本地端口 81 映射到容器 80 端口:
docker run -p 81:80 --name nginx-test-port1 nginx
方式 2:本地 IP:本地端口:容器端口
docker run -p 192.168.10.205:82:80 --name nginx-test-port2 docker.io/nginx
方式 3:本地 IP:本地随机端口:容器端口
docker run -p 192.168.10.205::80 --name nginx-test-port3 docker.io/nginx
方式 4:本机 ip:本地端口:容器端口/协议,默认为 tcp 协议
docker run -p 192.168.10.205:83:80/udp --name nginx-test-port4
docker.io/nginx
方式 5:一次性映射多个端口+协议:
docker run -p 86:80/tcp -p 443:443/tcp -p 53:53/udp --name nginx-test-port5
docker.io/nginx
#查看 Nginx 容器访问日志:
[root@docker-server1 ~]# docker logs nginx-test-port3 #一次查看
[root@docker-server1 ~]# docker logs -f nginx-test-port3 #持续查看
docker port nginx-test-port5
docker run -it --name nginx-test nginx
docker run -d -P --name nginx-test1 docker.io/nginx #后台启动容器
创建并进入容器:
[root@docker-server1 ~]# docker run -t -i --name test-centos2 docker.io/centos /bin/bash
[root@a8fb69e71c73 /]# #创建容器后直接进入,
docker run -d --name centos-test1 docker.io/centos 后台运行
docker run -it --rm --name nginx-delete-test docker.io/nginx
使用 attach 命令:
#使用方式为 docker attach 容器名,attach 类似于 vnc,操作会在各个容器界面
显示,所有使用此方式进入容器的操作都是同步显示的且 exit 后容器将被关
闭,且使用 exit 退出后容器关闭,不推荐使用,需要进入到有 shell 环境的容
器,比如 centos 为例:
[root@s1 ~]# docker run -it centos bash
[root@63fbc2d5a3ec /]#
[root@s1 ~]# docker attach 63fbc2d5a3ec
[root@63fbc2d5a3ec /]#
进入正在运行的容器
docker exec -it 8b32ccf52307 bash