一、查询
命令 | 说明 |
---|
docker | 查看到 docker客户端的所有命令选项。 |
docker stats --help | 查看docker stats命令令的具体使用方法。 |
docker version | 查看docker版本。 |
docker info | 查看docker的系统信息。 |
docker logs container_id/name | 查看容器日志。 |
docker stats container_id/name | 查看正在运行的容器资源使用情况。 |
docker top container_id/name | 显示容器中正在运行的进程。 |
docker inspect container_id/name | 显示容器的底层信息。 |
docker images | 查看本地所有镜像。 |
docker ps | 查看正在运行的容器。 |
docker ps -a | 查看所有容器的状态。 |
docker ps -l | 查看最后创建的容器的ID。 |
docker port container_id/name | 查看容器端口的映射情况。 |
docker exec container_id df -h | 查看docker容器内部磁盘分区。 |
二、搜索、下载、创建、进入、删除、导入、导出
命令 | 说明 |
---|
docker search image_name | 搜索镜像仓库中可用的镜像。 |
docker pull image_name | 拉取下载镜像。 |
docker build -t 目标镜像名 Dockerfile的绝对路径 | 使用Dockerfile文件,通过docker build 命令来构建一个镜像。 |
docker run -i -t -d image_name /bin/bash | 启动docker镜像,-d表示后台启动,默认不会进入容器,-t表示打开终端,-i表示交互输入,/bin/bash表示打开一个shell。 |
docker run -d -p 80:80 image_name:v2 | -p表示指定docker容器端口映射,如80:80,第一个80表示宿主机本地端口,第二个80表示docker容器中的端口,用户默认访问宿主机80端口,自动NAT映射到容器中80端口。 |
docker attach container_id/name | 进入docker容器,如果从这个容器退出,会导致容器的停止。 |
docker exec -it container_id/name /bin/bash | 进入docker容器shell终端,如果从这个容器退出,不会导致容器的停止。 |
docker commit container_id/name 目标镜像名 | 提交指定容器副本为镜像。 |
docker rm container_id/name | 删除容器。 |
docker container prune | 删除所有退出的容器。 |
docker rmi image_id | 删除镜像。 |
docker rmi -f image_id | 强制删除镜像。 |
docker rmi $(docker images -q) | 删除所有镜像。 |
rm -rf /var/lib/docker | 删除所有镜像。 |
docker export container_id > centos7.tar | docker导出镜像。 |
cat centos7.tar | docker import - centos:centos7.7.1908 | 本地导入docker镜像。 |
docker save docker.io/tomcat:7.0.77-jre7 >/root/mytomcat7.tar.gz | 导出镜像。 |
docker load < /root/mytomcat7.tar.gz | 导入镜像。 |
docker tag container_id/name centos:v3 | 为镜像添加一个新的标签。 |
注意导入导出镜像两种方法需配套使用,切不可混用。虽然导入导出时没问题,但是启动容器时会提示失败,会出现类似"docker: Error response from daemon: Container command not found or does not exist"的错误。
三、启动、停止、重启
命令 | 说明 |
---|
docker start container_id/name | 启动容器。 |
docker stop container_id/name | 关闭容器。 |
docker restart container_id/name | 重启容器。 |
docker kill container_id/name | 强制中断容器。 |
docker pause container_id/name | 暂停容器。 |
docker unpause container_id/name | 继续运行容器。 |
四、外部访问
命令 | 说明 |
---|
docker run -d -p 127.0.0.1:33301:22 centos6-ssh | 后台运行 docker run -d 。 |
docker -p 127.0.0.1:3306:3306 | 映射本机3306端口到容器的3306端口。 |
docker -p 127.0.0.1::3306 | 映射本机的随机可用端口到容器3306端口。 |
docker -p 3306:3306 | 映射本机的3306端口到容器的3306端口。 |
docker -v /home/data:/opt/data | 这里/home/data 指的是宿主机的目录地址,后者则是容器的目录地址。 |
docker create --name mycentos --network my-net --publish 8080:80 centos:centos7.7.1908 | 创建容器mycentos,将mycentos容器连接到my-net网络。将容器中的端口80发布到docker主机上的端口8080,外部客户端可以访问该端口。 |
docker network connect my-net mycentos | 将一个已经在运行的mycentos容器连接到一个已经存在的my-net网络。 |
docker network disconnect my-net mycentos | 将一个已经在运行的mycentos容器断开与my-net网络的连接。 |