Docker的常用命令主要包括以下几类:
Docker进程:
- 启动Docker服务:
docker start
- 关闭Docker服务:
docker stop
- 重启Docker服务:
docker restart
镜像操作:
- 查看镜像列表:
docker images
- 从镜像仓库中检索镜像:
docker search xxx
- 下载镜像:
docker pull xxx
- 删除镜像:
docker rmi xxx
- 通过容器创建镜像:
docker commit -m="首次提交" -a="一灰灰Blog" dd85eb055fe8 yh/centos:v0.1
这个命令会创建一个新的镜像,这个镜像的内容是基于dd85eb055fe8
容器的当前状态。新镜像的名字是yh/centos
,标签是v0.1
。-m
参数用于指定提交的信息,-a
参数用于指定作者的信息。
- 镜像历史查询:
docker history yh/centos
这个命令会显示名为yh/centos
的镜像的历史记录。你可以看到每一层镜像的详细信息,包括创建时间、创建者、指令和大小。
容器操作:
- 创建并后台执行:
docker run -i -t -d centos:latest
这个命令会创建并启动一个名为centos:latest
的容器,并在后台运行。其中,-i
表示交互模式,-t
分配一个伪终端,-d
表示后台运行。
- 运行一个带命令在后台不断执行的容器:
docker run -d centos:latest ping www.baidu.com
这个命令会创建并启动一个名为centos:latest
的容器,并在后台运行ping www.baidu.com
命令。-d
表示后台运行。
- 运行一个在后台不断执行的容器,同时带有命令,程序被终止后还能重启继续跑:
docker run -d --restart=always centos:latest ping www.baidu.com
这个命令会创建并启动一个名为centos:latest
的容器,并在后台运行ping www.baidu.com
命令。如果容器停止,它会自动重启。--restart=always
表示容器在停止后总是重新启动。
- 指定容器名:
docker run -d --name=yhh_centos centos:latest
这个命令会创建并启动一个名为centos:latest
的容器,并将容器的名字设置为yhh_centos
。--name
用于指定容器的名字。
- 暴露容器端口80,并与宿主机端口8080绑定:
docker run -d --name=yhh_centos -p 8080:80 centos:latest
这个命令会创建并启动一个名为centos:latest
的容器,并将容器的80
端口与宿主机的8080
端口绑定。-p
用于端口映射。
- 指定容器与宿主机目录(/home/yihui/html/www)共享:
docker run -d --name=yhh_centos -v /home/yihui/html/www:/var/www centos:latest
这个命令会创建并启动一个名为centos:latest
的容器,并将宿主机的/home/yihui/html/www
目录与容器的/var/www
目录共享。-v
用于目录映射。
- 查看容器列表:
docker ps -a
这个命令会显示所有的容器,包括正在运行的和已经停止的。-a
表示显示所有的容器。
-
启动容器:
docker start xxx
-
关闭容器:
docker stop xxx
-
重启容器:
docker restart xxx
-
删除容器:
docker rm xxx
其他操作:
- 容器日志查询:
docker logs -f -t --since="2019-05-11" --tail=10 yhhos
这个命令会显示名为yhhos的容器从2019-05-11开始的最后10条日志。-f
表示跟踪日志输出,-t
表示显示时间戳,--since
表示显示自指定时间以来的日志,--tail
表示显示最后N条日志。
- 文件拷贝:
docker cp test.md yhhos:/tmp 或 docker cp yhhos:/tmp/test.md ./out.md
这两个命令分别用于将文件从宿主机复制到容器和从容器复制到宿主机。docker cp
命令的格式为docker cp
<源路径> <目标路径>。
- 进入容器:
docker exec -it yhhos /bin/bash
这个命令会进入名为yhhos
的容器,并在容器中运行/bin/bash
命令。-i
表示交互模式,-t
分配一个伪终端。
- 获取容器所有信息:
docker inspect yhhos