天天看点

Docker 常用操作命令

文章首发于公众号《程序员果果》

地址:

https://mp.weixin.qq.com/s/S9VkzSJx_JOY8zDiC_nuEg

1. 启动容器

docker run IMAGE [COMMAND]  [ARG...]           
  • IMAGE 是指启动容器所使用的操作系统镜像
  • [COMMAND] [ARG...] 指的是容器启动后运行的命令及其参数

2. 启动交互式容器

#启动交互式容器
docker run -i -t IMAGE /bin/bash
 
#退出交互式容器的bash,这样容器就会在后台运行
Ctrl+P+Q           

在run命令中增加了两个参数 -i -t ,并在容器启动时运行bash命令

  • i --interactive=true | fasle 默认是false

    用来告诉docker守护进程为容器始终打开标准输入

  • -t --tty = true | false 默认是false

    告诉docker要为创建的容器分配一个--tty终端,这样新创建的容器才能提供一个交互式的shell

3. 启动守护式容器

docker run -d 镜像名 [COMMAND] [ARG...]           
  • -d 是指以后台的形式运行命令

4. 查看运行的容器

docker ps [-a] [-l]           
  • [-a] 列出所有创建的容器
  • [-l] 列出最新创建的容器

5. 查看容器的详细配置

docker inspect CONTAINER_ID           

6. 重启、停止容器

docker restart [-i]  容器名/容器ID
docker stop 容器名/容器ID (发送信号,等待停止)
docker kill 容器名/容器ID(直接停止)           

7. 删除停止的容器

docker rm 容器名/容器ID           
  • -f : 通过SIGKILL信号强制删除一个运行中的容器
  • -v : 删除与容器关联的卷

8. 附加到运行的容器(进入刚刚退出的容器)

docker attach 容器名/容器ID           

9.查看容器日志

docker logs [-f] [-t] [--tail] 容器名           
  • -f  --follows=true | false 默认为false,告诉logs命令一直跟踪日志的变化并返回结果
  • -t  --timestamps=true | false 默认为false,在返回的结果上加上时间戳
  • --tail  = "all"   是选择返回结尾处多少数量的日志,如果不指定的话就返回所有的日志

10. 查看容器内进程

docker top 容器名/容器ID           

11. 在运行中的容器内启动新进程

docker exec [-d] [-i] [-t]  容器名 [COMMAND] [ARG...]
例子:
docker exec -i -t 容器名 /bin/bash           

12. 停止守护式容器

#stop 会给容器发送一个信号,等待容器的停止
docker stop 容器名
#直接停止容器
docker kill 容器名           

13. 列出镜像

docker images [OPTSIONS] [REPOSITORY]           
  • -a  --all=false  显示所有镜像,默认并不显示中间层的镜像
  • -f  --filter=[]  显示时的过滤条件
  • --no-trunc=false   指定不使用截断的形式来显示数据,默认情况下我们用images查到的列表会截断镜像的唯一id
  • -q  --quiet=false  只显示镜像的唯一id

14. 获取容器/镜像的元数据

docker  inspect [OPTIONS] CONTAINER|IMAGE[CONTAINER|IMAGE...]           

15. 删除镜像

docker rmi [OPTIONS] IMAGE [IMAGE...]           
  • -f,--force=false 强制删除镜像
  • --no-prune=false 保留被删除镜像中被打标签的父镜像