Docker 常用命令
Docker/Docker-compose 常用命令
Docker
启动docker
systemctl start docker // centos
sudo service docker start // ubantu/debian
查看状态
systemctl status docker
停止docker
systemctl stop docker
重启命令
systemctl restart docker
开机启动docker
systemctl enable docker
Docker常用命令
辅助
docker version | 显示 Docker 版本信息
docker info | 显示 Docker 系统信息(包括镜像和容器数)
docker --help | 帮助
镜像
docker images [OPTIONS] | 列出本机上的镜像(-a: 列出本地所有镜像、-q: 只显示镜像id)
docker search [OPTIONS] xxx镜像名 | 搜索镜像名
docker pull xxx镜像名字 | 拉取某镜像
docker rmi xxx镜像id/镜像名 | 删除某镜像
容器
docker run [OPTIONS] IMAGE [COMMAND] [ARG...] | 启动容器
(-i:以交互模式运行容器;-t:为容器重新分配一个伪输入终端;-p:指定端口映射;-d:后台运行容器)
docker ps [OPTIONS] | 列出当前所有正在运行的容器
(-a:列出当前所有正在运行的容器+历史上运行过的;-l:显示最近创建的容器)
exit | 交互模式中容器停止并退出交互
ctrl+P+Q | 交互模式中容器不停止退出交互
docker start 容器id/容器名 | 启动容器
docker restart 容器id/容器名 | 重启容器
docker stop 容器id/容器名 | 停止容器
docker kill 容器id/容器名 | 强制停止容器
docker rm 容器id | 删除已停止的容器
docker rm -f $(docker ps -a -q) | 删除全部容器
docker logs -f -t --tail 容器id | 查看容器日志
docker top 容器id | 查看容器运行的进程
docker inspect 容器id | 查看容器内部信息
docker exec -it 容器id bashShell | 进入容器执行指令
docker attach 容器id | 进入容器交互执行指令
docker cp 容器id:容器内路径 目的主机路径 | 从容器内拷贝文件到主机
删除
docker ps -aq # 列出所有的容器 ID
docker stop $(docker ps -aq) # 停止所有的容器
docker rm $(docker ps -aq) # 删除所有的容器
docker rmi $(docker images -q) # 删除所有的镜像
docker image prune --force --all # 或者docker image prune -f -a # 删除所有不使用的镜像
docker container prune # 删除所有停止的容器
复制
docker cp mycontainer:/opt/file.txt /opt/local/ # 复制文件 容器到主机
docker cp /opt/local/file.txt mycontainer:/opt/ # 复制文件 主机到容器
Docker-compose常用命令
help
docker-compose -help
查看帮助。
config
docker-compose config -q
验证docker-compose.yml文件。
当配置正确时,不输出任何内容,当配置错误时,输出错误信息。
pull
docker-compose pull
拉取服务依赖的镜像。
# 拉取工程中所有服务依赖的镜像
docker-compose pull
# 拉取工程中 nginx 服务依赖的镜像
docker-compose pull nginx
# 拉取镜像过程中不打印拉取进度信息
docker-compose pull -q
up
docker-compose up
创建并启动所有服务的容器。指定多个yml加-f选项。以守护进程模式运行加-d选项。
# 前台启动
docker-compose up
# 后台启动
docker-compose up -d
# -f 指定使用的 Compose 模板文件,默认为 docker-compose.yml,可以多次指定,指定多个 yml
docker-compose -f docker-compose.yml up -d
logs
docker-compose logs
查看服务容器的输出日志。默认情况下,docker-compose
将对不同的服务输出使用不同的颜色来区分。可以通过 --no-color
来关闭颜色。
# 输出日志,不同的服务输出使用不同的颜色来区分
docker-compose logs
# 跟踪日志输出
docker-compose logs -f
# 关闭颜色
docker-compose logs --no-color
ps
docker-compose ps
列出工程中所有服务的容器。
# 列出工程中所有服务的容器
docker-compose ps
# 列出工程中指定服务的容器
docker-compose ps nginx
run
docker-compose run
在指定服务容器上额外执行一个命令。
# 在工程中指定服务的容器上执行 echo "helloworld"
docker-compose run nginx echo "helloworld"
exec
docker-compose exec
进入服务容器。
# 进入工程中指定服务的容器
docker-compose exec nginx bash
# 当一个服务拥有多个容器时,可通过 --index 参数进入到该服务下的任何容器
docker-compose exec --index=1 nginx bash
pause
docker-compose pause
暂停服务容器
# 暂停工程中所有服务的容器
docker-compose pause
# 暂停工程中指定服务的容器
docker-compose pause nginx
unpause
docker-compose unpause
恢复服务容器。
# 恢复工程中所有服务的容器
docker-compose unpause
# 恢复工程中指定服务的容器
docker-compose unpause nginx
restart
docker-compose restart
重启服务容器。
# 重启工程中所有服务的容器
docker-compose restart
# 重启工程中指定服务的容器
docker-compose restart nginx
start
docker-compose start
启动服务容器。
# 启动工程中所有服务的容器
docker-compose start
# 启动工程中指定服务的容器
docker-compose start nginx
stop
docker-compose stop
停止服务容器。
# 停止工程中所有服务的容器
docker-compose stop
# 停止工程中指定服务的容器
docker-compose stop nginx
kill
docker-compose kill
通过发送SIGKILL信号停止指定服务的容器。
# 通过发送 SIGKILL 信号停止工程中指定服务的容器
docker-compose kill nginx
rm
docker-compose rm
删除服务(停止状态)容器。
# 删除所有(停止状态)服务的容器
docker-compose rm
# 先停止所有服务的容器,再删除所有服务的容器
docker-compose rm -s
# 不询问是否删除,直接删除
docker-compose rm -f
# 删除服务容器挂载的数据卷
docker-compose rm -v
# 删除工程中指定服务的容器
docker-compose rm -sv nginx
down
docker-compose down
停止并删除所有服务的容器、网络、镜像、数据卷。
# 停止并删除工程中所有服务的容器、网络
docker-compose stop
# 停止并删除工程中所有服务的容器、网络、镜像
docker-compose down --rmi all
# 停止并删除工程中所有服务的容器、网络、数据卷
docker-compose down -v
images
docker-compose images
打印服务容器所对应的镜像。
# 打印所有服务的容器所对应的镜像
docker-compose images
# 打印指定服务的容器所对应的镜像
docker-compose images nginx
port
docker-compose port
打印指定服务容器的某个端口所映射的宿主机端口。
docker-compose port nginx 80
0.0.0.0:80
docker-compose port jenkins 8080
0.0.0.0:8088
top
docker-compose top
显示正在运行的进程。
# 显示工程中所有服务的容器正在运行的进程
docker-compose top
# 显示工程中指定服务的容器正在运行的进程
docker-compose top nginx