Docker常用命令

Posted 多鱼的夏天

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Docker常用命令相关的知识,希望对你有一定的参考价值。

管理镜像

docker build

从Dockerfile创建一个镜像

docker build [options] .
  -t "app/container_name" # 名称
  --build-arg APP_HOME=$APP_HOME # 设置构建时间变量

docker run

docker run [options] IMAGE
  # 选项参见 `docker create` 

示例

$ docker run -it debian:buster /bin/bash

在容器中运行bash

管理容器

docker create

docker create [options] IMAGE
  -a, --attach               # 附加stdout/err
  -i, --interactive          # 附加stdin
  -t, --tty                  # tty
      --name NAME            # 命名镜像
  -p, --publish 5000:5000    # 端口映射(主机:容器)
      --expose 5432          # 将一个端口暴露给链接的容器
  -P, --publish-all          # 发布所有端口
      --link container:alias # linking
  -v, --volume `pwd`:/app    # mount (需要绝对路径)
  -e, --env NAME=hello       # 环境变量

示例

$ docker create --name app_redis_1 \\
  --expose 6379 \\
  redis:3.0.2

创建一个 redis 容器

docker exec

docker exec [options] CONTAINER COMMAND
  -d, --detach        # run in background
  -i, --interactive   # stdin
  -t, --tty           # interactive

示例

$ docker exec app_web_1 tail logs/development.log
$ docker exec -t -i app_web_1 rails c

进入容器并运行命令

docker start

docker start [options] CONTAINER
  -a, --attach        # attach stdout/err
  -i, --interactive   # attach stdin

docker stop [options] CONTAINER

启动/停止容器

docker update

docker update --restart unless-stopped CONTAINER

设置容器的启动策略

docker ps

$ docker ps
$ docker ps -a
$ docker kill $ID

使用 ps 和 kill 管理容器

docker logs

$ docker logs CONTAINER_ID
$ docker logs CONTAINER_ID 2>&1 | less
$ docker logs -f CONTAINER_ID 

查看容器日志

镜像

docker images

$ docker images
  REPOSITORY   TAG        ID
  ubuntu       12.10      b750fe78269d
  me/myapp     latest     7b2431a8d968
$ docker images -a   

docker rmi

docker rmi IMAGE_ID

删除镜像

清理

清理所有

docker system prune

清理悬空的(即不与容器相关联)镜像、容器、卷和网络。

docker system prune -a

删除任何停止的容器和所有未使用的镜像

容器

# 停止所有正在运行的容器
docker stop $(docker ps -a -q)

# 删除停止的容器
docker container prune

镜像

docker image prune [-a]

删除所有的镜像

数据卷

docker volume prune

删除所有的数据卷

以上是关于Docker常用命令的主要内容,如果未能解决你的问题,请参考以下文章

Docker:Docker常用命令

Docker容器常用命令

3. Docker学习之路 —— Docker常用命令

Docker常用命令

Docker常用命令

docker入门之二:docker常用命令