分享一些docker的常用命令
- 新建启动镜像
docker run
这个命令是我们最常用的命令,主要使用以下几个选项
① -d选项:表示后台运行
② -P选项(大写):随机端口映射
③ -p选项(小写):指定端口映射,前面是宿主机端口后面是容器端口,如docker run nginx -p 8080:80
,将容器的80端口映射到宿主机的8080端口,然后使用localhost:8080
就可以查看容器中nginx的欢迎页了
④ -v选项:挂载宿主机目录,前面是宿主机目录,后面是容器目录,如docker run -d -p 80:80 -v /dockerData/nginx/conf/nginx.conf:/etc/nginx/nginx.conf nginx
挂载宿主机的/dockerData/nginx/conf/nginx.conf
的文件,这样就可以在宿主机对nginx
进行参数配置了,注意目录需要用绝对路径,不要使用相对路径,如果宿主机目录不存在则会自动创建。
⑤--rm : 停止容器后会直接删除容器,这个参数在测试是很有用,如docker run -d -p 80:80 --rm nginx
⑥--name : 给容器起个名字,否则会出现一长串的自定义名称如 docker run -name niginx -d -p 80:80 - nginx
- 列出容器
docker ps
这个命令可以列出当前运行的容器,使用-a
参数后列出所有的容器(包括已停止的)

- 停止容器
docker stop
docker stop 5d034c6ea010
后面跟的是容器ID,也可以使用容器名称
- 启动停止的容器
docker start
docker run
是新建容器并启动,docker start
是启动停止的容器,如docker start 5d034c6ea010
- 重启容器
docker restart
此命令执行的过程实际是先执行docker stop
,然后再执行docker start
,如docker restart 5d034c6ea010
- 进入容器
docker exec -it 容器id /bin/bash
如 docker exec -it 5d034c6ea010 /bin/bash
,就相当于进入了容器本身的操作系统
- 删除容器
docker rm
如docker rm 5d034c6ea010
后面跟的是容器ID,删除容器之前需要先停止容器运行
- 数据拷贝
docker cp
此命令用于容器与宿主机之间进行数据拷贝,如 docker cp 5d034c6ea010: /etc/nginx/nginx.conf /dockerData/nginx/conf/nginx.conf
将容器的目录文件拷贝到宿主机指定位置,容器ID可以替换成容器名。