1. 进入容器
当容器后台启动以后,就需要进入容器进行操作。进入的操作有attach和exec
1.1 docker attach
docker attach [OPTIONS] CONTAINER
--detach-keys[=[]] # 指定退出attach模式的快捷键序列,默认是CTRL-p CTRL-q;
--no-stdin=true|false # 是否关闭标准输入,默认是保持打开;
--sig-proxy=true|false # 是否代理收到的系统信号给应用进程,默认为true。
注意:docker attach命令推出采用的快捷键ctrl+d退出,会造成容器的停止运行!
但这样不是我们想看到的,因此,需要在进入时加上--sig-proxy=false 参数。这是因为在没要加上参数时,先点击ctrl+p 然后ctrl+q 相当于退出时不会传递关闭容器的指令。
docker attach --sig-proxy=false dongzao
但是,在实际使用并不推荐使用 docker attach!推荐使用 docker exec!
1.2 docker exec
进入容器及退出建议使用 docker exec!
docker exec [OPTIONS] CONTAINER COMMAND [ARG...]
-d, --detach # 分离模式:在后台运行命令
--detach-keys string # 覆盖分离容器的键序列
-e, --env list # 设置环境变量
-i, --interactive # 即使没有连接,也要保持STDIN打开
--privileged # 授予命令扩展权限
-t, --tty # 分配一个伪TTY
-u, --user string # 用户名或用户标识(格式:<名称标识>[:<群组标识>])
-w, --workdir string # 容器内的工作目录
下面操作,退出后容器依然在运行!
2. 删除容器
可以使用docker rm 删除容器
docker rm [OPTIONS] CONTAINER [CONTAINER...]
-f, --force # 通过 SIGKILL 信号强制删除一个运行中的容器
-l, --link # 移除容器间的网络连接,而非容器本身
-v, --volumes # 删除与容器关联的卷
默认情况下,dockerrm命令只能删除已经处于终止或退出状态的容器,并不能删除还处于运行状态的容器。
如果要直接删除一个运行中的容器,可以添加-f参数。Docker会先发送SIGKIL信号给容器,终止其中的应用,之后强行删除。
3. 导出导入容器
当需要将一个容器移动到另一个容器,就需要导出和导入了。
3.1 导出容器
导出使用 docker export
docker export <Container_ID> > <local_file_name>
-o, --output string # 将输入内容写到文件
注意:命令中的 ">"符号!
3.2 导入容器
导入使用docker import
docker import <仓库名>:<TAG>
--change , -c # 应用 Dockerfile指令应用于创建的镜像
--message , -m # 为导入的镜像设置提交消息
--platform # 设置平台,如果服务器支持多平台
4. 查看容器
4.1 查看容器详情
docker inspect [OPTIONS] NAME|ID [NAME|ID...]
-f, --format string # 使用给定的Go模板格式化输出
-s, --size # 显示总的文件大小。
--type string # 为指定类型返回JSON。
4.2 查看容器内进程
docker top [OPTIONS] CONTAINER [ps OPTIONS]
4.3 查看统计信息
docker stats [OPTIONS] [CONTAINER...]
--all , -a # 显示所有容器(默认显示为正在运行)
--format # 使用Go模板打印漂亮的图像
--no-stream # 禁用流统计信息,仅获取第一个结果
--no-trunc # 不要截断输出
5. 其他容器命令
5.1 复制文件
这里的复制文件是指用于容器与主机之间的数据复制。
docker cp [OPTIONS] CONTAINER:SRC_PATH DEST_PATH|- # 容器复制到主机
docker cp [OPTIONS] SRC_PATH|- CONTAINER:DEST_PATH # 主机复制到容器
--archive , -a # 存档模式(复制所有uid / gid信息)
--follow-link , -L # 始终遵循SRC_PATH中的符号链接
从容器复制到主机
从主机复制到容器
5.2 查看变更
docker diff CONTAINER # 检查容器文件系统上文件或目录的更改
5.3 查看端口映射
docker port CONTAINER [PRIVATE_PORT[/PROTO]] #列出端口映射或容器的特定映射
5.4 更新配置
更新一个或多个容器的配置
docker update [OPTIONS] CONTAINER [CONTAINER...]
--blkio-weight # 块IO(相对权重),介于10到1000之间,或者为0禁用(默认为0)
--cpu-period # 限制CPU CFS(完全公平的调度程序)期限
--cpu-quota # 限制CPU CFS(完全公平的调度程序)配额
--cpu-rt-period # 将CPU实时时间限制为微秒
--cpu-rt-runtime # 将CPU实时运行时间限制为微秒
--cpu-shares , -c # CPU份额(相对重量)
--cpus # CPU数量
--cpuset-cpus # 允许执行的CPU(0-3,0,1)
--cpuset-mems # 允许执行的MEM(0-3,0,1)
--kernel-memory # 内核内存限制
--memory , -m # 内存限制
--memory-reservation # 内存软限制
--memory-swap # 交换限制等于内存加交换:“-1”以启用无限交换
--pids-limit # Tune容器pids限制(设置-1表示无限制)
--restart # 容器退出时重新启动策略以应用
评论区