如何管理Docker容器?

1、image文件生成容器
命令:
docker run
说明:参照【docker run与docker start的区别?】;
2、启动容器
命令:
docker start [containerID]
说明:参照【docker run与docker start的区别?】;
3、停止容器
命令:
docker stop [containerID]
说明:
- 将一个正在运行的容器停止运行,这个过程需要一定时间;
- 重复停止运行一个“已经停止的”容器并不会报错;
- 停止完成后,会返回该容器的【containerID】;
- 运行的容器在通过
docker ps -a
查看时,STATUS
的值是例如Up 19 hours
; - 已经停止的容器,在查看时,
STATUS
的值是例如Exited (137) 25 seconds ago
; - 被停止的容器,可以通过命令
docker container start [containerID]
重新运行;
4、查看容器日志
命令:
docker logs [containerID]
说明:
- 可以查看容器运行时的日志;
- 可以通过例如:
docker container logs [containerID] >demo.log
的方式,将日志写入demo.log
文件中;
删除容器日志:
- 首先,删除日志首先要停止运行容器;
- 日志的路径是:
/var/lib/docker/containers/[容器长ID]/[容器ID-json].log
- 最后的文件名不一定有
-json
这部分(不确定),我的 Docker 版本是18.09.5
是有的;
5、进入正在运行的容器
命令:
docker exec -it [containerID] /bin/bash
说明:
6、删除容器
命令:
docker rm [containerID]
说明:
- 只有被停止的容器才可以被删除;
- 删除一个容器,在列出容器列表时,将不会显示;
- 该容器的日志文件夹:
/var/lib/docker/containers/[容器长ID]
,也会在删除容器时自动删除;
删除所有非运行中的容器:
命令:
docker rm $(docker ps -aq)
或
docker container prune
说明:
- 所有非运行中的容器都会被删除(运行中的则不会,并返回一个错误提示);
- 如果需要删除所有容器(包括运行中的),则需要使用命令
docker stop $(docker ps -a -q)
先停止所有容器;
7、重启容器
命令:
docker restart [containerID]
说明:
- 重启容器,很好理解,over;
8、杀死容器
命令:
docker kill [containerID]
说明:
- 强制关闭,速度比停止快;
9、将 Docker 内部文件拷贝出来
命令:
docker container cp [containID]:[/path/to/file] .
参数说明:
docker container cp
:拷贝,很好理解,略;[containID]:[/path/to/file]
:具体某个容器,他的某个路径,例如f46b174f0c69:/app
是将该容器根目录下的app
文件夹拷贝出来;*
:拷贝到当前目录;
功能说明:
- 适用于将 Docker 容器内的文件拷贝到主机中;
- 相反,将主机文件拷贝到 Docker 容器中,请自行谷歌;
10、宿主机查看所有 Docker 容器的 ip地址
docker inspect -f '{{.Name}} - {{.NetworkSettings.IPAddress }}' $(docker ps -aq)