Docker Cli 基础操作
查看所有容器:
docker ps -a
停止运行的容器:
docker stop <container_id or name>
重新启动容器:
docker start <container_id or name>
暂停运行的容器:
docker pause <container_id or name>
重新运行暂停的容器:
docker unpause <container_id or name>
删除容器:
docker rm <container_id or name>
查看下载的镜像:
docker images
删除下载的镜像:
docker rmi <IMGAE_ID or repository:tag>
- IMAGE_ID:镜像唯一标识符,可以通过docker images查看
- repository:镜像的名称和标签,例如nginx:latest
从image中运行容器:
docker run -d '# 当容器在后台运行' \
--name <container_name> '# 指定容器名' \
--hostname <hostname> '# 指定容器的主机名' \
-p 3000:3000 '# 端口映射,将主机端口映射到容器端口' \
-v $(pwd)/config:/config '# 数据卷映射'
进入正在运行的容器:
docker exec -it <容器ID或名称> /bin/bash
Docker Compose
概述: 是一个用于定义和运行多容器docker应用的工具。通过一个配置文件(通常是docker-compose.yml),描述多个容器之间的关系、依赖、网络和共享资源,让你可以方便地管理复杂的容器化应用
核心概念:
- 服务:描述一个单独的容器,例如web服务、数据库服务。每个服务在docker-compose.yml文件中用来定义容器的行为
- 网络:定义服务之间如何通信,compose会自动创建网络,允许服务之间通过名称相互通信
- 卷:定义持久化数据存储位置,确保容器重启后数据不会丢失
工作流程:
- 定义服务:使用docker-compose.yml文件定义服务配置
- 启动应用:运行docker-compose up 启动所有服务
- 管理应用:使用命令如docker-compose ps查看状态,docker-compose logs查看日志
- 停止应用:运行docker-compose down停止并清理资源
docker-compose.yml文件示例:
version: '3.9' # 指定 Compose 文件版本
services:
web:
image: nginx:latest # 使用官方 nginx 镜像
ports:
- "8080:80" # 将主机的 8080 端口映射到容器的 80 端口
volumes:
- ./web:/usr/share/nginx/html # 挂载本地目录到容器
networks:
- app-network # 连接到名为 app-network 的网络
database:
image: postgres:latest # 使用官方 PostgreSQL 镜像
environment:
POSTGRES_USER: user
POSTGRES_PASSWORD: password
volumes:
- db-data:/var/lib/postgresql/data # 数据持久化
networks:
- app-network # 连接到名为 app-network 的网络
volumes:
db-data: # 定义持久化卷
networks:
app-network: # 定义网络
docker compose常用命令:
启动服务:
docker-compose up
- 使用-d参数可以后台运行
停止服务:
docker-compose down
- 使用-v参数可以同时删除卷
查看服务状态:
docker-compose ps
重启服务:
docker-compose restart
查看日志:
docker-compose log
- 查看特定服务日志:docker-compose log <service-name>
运行单个服务:
docker-compose up <service-name>