前言
关于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 命令很重要,实际生产中用到比较多。
参考链接: