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常用命令的主要内容,如果未能解决你的问题,请参考以下文章