docker container 操作学习

95 阅读2分钟

前言

关于docker container的一些常用操作,整理理解以及方便查询。


产生容器

$ docker container create [OPTIONS] IMAGE [COMMAND] [ARG...]
# docker create 是它的别名
# 从image创建一个container。
# eg: docker container create --name my_nginx nginx

$ docker container run [OPTIONS] IMAGE [COMMAND] [ARG...]
# docker run 是它的别名
# 从image创建并运行一个新的container
# docker run -it -d --name my_container ubuntu bash

容器的运行与停止

运行

$ docker container start [OPTIONS] CONTAINER [CONTAINER...]
# docker start 是它的别名
# 启动一个或多个停止的容器

$ docker container restart [OPTIONS] CONTAINER [CONTAINER...]
# docker restart 是它的别名
# 重新启动一个或多个容器

$ docker container unpause CONTAINER [CONTAINER...]
# docker unpause 是它的别名
# 恢复暂停容器中的所有进程

停止容器

$ docker container pause CONTAINER [CONTAINER...]
# docker pause 是它的别名
# 暂停(挂起)容器,暂停容器中的所有进程

$ docker container stop [OPTIONS] CONTAINER [CONTAINER...]
# docker stop 是它的别名
# 停止一个或多个处于运行状态的容器。

$ docker container kill [OPTIONS] CONTAINER [CONTAINER...]
# docker kill 是它的别名
# 杀死(强行停止)一个或多个容器。

删除

$ docker container rm [OPTIONS] CONTAINER [CONTAINER...]
# docker rm 是它的别名
# 删除一个或多个容器
# eg: docker stop 379effe4cc2a 先停止
# docker rm 379effe4cc2a 再删除
# docker rm -f bf1128a4d870 -f 强制删除运行中的容器
# docker rm $(docker ps -q -a) 一次性删除所有的容器

$ docker container prune [OPTIONS]
# 删除所有停止运行的容器

修改

$ docker container rename CONTAINER NEW_NAME
# docker rename 是它的别名
# 重命名容器

$ docker container update [OPTIONS] CONTAINER [CONTAINER...]
# docker update 是它的别名
# 更新一个或多个容器的配置
# eg: docker update --restart=always abebf7571666 设置容器的重启策略

查看容器信息

$ docker container ls [OPTIONS]
# docker ps 是它的别名
# 列出运行中的容器
# eg: docker container ls -a 列出所有容器

$ docker container inspect [OPTIONS] CONTAINER [CONTAINER...]
# 查看容器的详细信息(元数据)

$ docker container stats [OPTIONS] [CONTAINER...]
# 显示容器使用的系统资源,默认1s刷新一次

$ docker container port CONTAINER [PRIVATE_PORT[/PROTO]]
# 列出docker容器的端口映射
# eg: docker port myContainer 80/tcp 容器的tcp协议的端口映射

$ docker container logs [OPTIONS] CONTAINER
# docker logs 是它的别名
# 查看容器的日志
# docker logs --since 30m CONTAINER_ID 查看最近30分钟的日志

$ docker container top CONTAINER [ps OPTIONS]
# docker top 是它的别名
# 查看容器中运行的进程信息

进入容器

$ docker container attach [OPTIONS] CONTAINER
# docker attach 是它的别名
# 连接正在运行的容器
# eg:  docker run -d --name topdemo ubuntu /usr/bin/top -b 运行一个容器
# docker attach topdemo 链接容器,会看到top命令输出,按Ctrl+c会退出容器,容器也会停止
# docker attach --sig-proxy=false topdemo 设置不将接收的信号代理给进程,Ctrl+c就不会停止容器

$ docker container exec [OPTIONS] CONTAINER COMMAND [ARG...]
# docker exec 是它的别名
# 在运行中的容器执行命令
# eg: docker exec -ti topdemo /bin/bash 进入容器,交互执行命令
# eg: docker exec -i topdemo echo '1111' 不进入容器执行命令

其他

$ docker container export [OPTIONS] CONTAINER
# docker export 是它的别名
# 导出容器和镜像,实现容器内容持久化; 把之前镜像的层级删干净,只保留一层最新的快照文件。

$ docker container cp [OPTIONS] CONTAINER:SRC_PATH DEST_PATH|-
$ docker cp [OPTIONS] SRC_PATH|- CONTAINER:DEST_PATH
# docker cp 是它的别名
# 容器与主机之间的文件/文件夹拷贝
# eg: docker cp /www/wordpress 379effe4cc2a:/www/ 将主机/www/wordpress目录拷贝到容器379effe4cc2a的/www目录下
# eg: docker cp  379effe4cc2a:/www /tmp/ 将容器379effe4cc2a的/www目录拷贝到主机的/tmp目录中

$ docker container diff CONTAINER
# docker diff 是它的别名
# 检查容器的文件系统上的文件或目录的变化

$ docker container wait CONTAINER [CONTAINER...]
# docker wait 是它的别名
# 阻塞一个或多个Docker容器,直到容器停止,然后打印退出代码

总结

Docker 命令都有一个 --help 选项可以查看额外操作功能,可以善加使用。 Docker container 命令大部分有简化别名。

Docker container 命令很重要,实际生产中用到比较多。

参考链接: