“这是我参与8月更文挑战的第4天,活动详情查看:8月更文挑战”
1. 启动/停止容器
新建并启动一个srs镜像的容器
$ docker run -it --restart=always -p 1985:1985 -v /dev:/dev2 -v /mnt/nfs:/mnt/volume1 --name srs-service srs
- --restart=always 表示开机启用
- -p 1985:1985 表示主机端口与docker端口的映射
- -v /mnt/nfs:/mnt/volume1 表示本机/mnt/nfs目录挂载到容器/mnt/volume1目录
- srs表示镜像标识符
启动/停止容器
#启动
$ docker container start xxx
#终止
$ docker container stop xxx
#查询修改
$ docker container diff xxx
2. 进入容器
容器列表(-a 命令可以查看所有已经创建的包括终止状态的容器)
$ docker container ls -a
进入容器
$ docker exec -it xxx /bin/bash
- xxx 为容器标识符
- 可以通过 docker container update 更新容器,例如 docker container update --restart="no" < container id>
3. 导出和导入容器
导出容器
如果要导出本地某个容器快照,使用 docker export 命令
$ docker export xxx > container20201216.tar
导入容器
使用 docker import 从容器快照文件中再导入为镜像,例如
$ cat container20201216.tar | docker import - srs/srs:v1.0
此外,也可以通过指定 URL 或者某个目录来导入,例如
$ docker import http://example.com/exampleimage.tgz example/imagerepo
4. 删除容器
可以使用 docker container rm 来删除一个处于终止状态的容器, 如
$ docker container rm trusting_newton
如果数量太多要一个个删除可能会很麻烦,用下面的命令可以清理掉所有处于终止状态的容器。
$ docker container prune
5. 容器的信息
PID 信息
$ docker inspect --format '{{ .State.Pid }}' <CONTAINER ID or NAME>
IP 地址
$ docker inspect --format '{{ .NetworkSettings.IPAddress }}' <CONTAINER ID or NAME>
容器配置
$ docker inspect <CONTAINER ID or NAME>
容器监控
$ docker stats
已经运行的容器,可以通过 docker update 更新配置参数 <CONTAINER ID or NAME>(需要先停止容器的运行)
或者通过 /var/lib/docker/containers/容器ID 下的 hostconfig.json 等文件,修改启动配置参数
6. 控制容器系统资源占用
在使用 docker create 命令创建容器或使用 docker run 创建并启动容器的时候
- 可以使用
-c|--cpu-shares[=0]参数来调整容器使用 CPU 的权重 - 可以使用
-m|--memory[=MEMORY]参数来调整容器使用内存的大小。