Docker Compose 简单使用手册
📖介绍
Docker Compose 是 Docker 官方编排(Orchestration)项目之一,负责快速的部署分布式应用。
它允许用户通过一个单独的 docker-compose.yml 模板文件(YAML 格式)来定义一组相关联的应用容器为一个项目(project)。
优点非常明显,通过易读的 YAML 格式文件。实现复杂容器部署,快速修改配置
🔩安装
群晖NAS系统内置就有 docker-compose ,为其工程师点赞
二进制包方式
sudo curl -L https://github.com/docker/compose/releases/download/1.27.4/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
# 国内用户可以使用以下方式加快下载
sudo curl -L https://download.fastgit.org/docker/compose/releases/download/1.27.4/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
Docker run 方式
适合 unRAID
这类精简 Linux 系统,使用 alias 命令别名方式实现免安装使用
echo alias docker-compose="'"'docker run --rm --name docker-compose \
-v /var/run/docker.sock:/var/run/docker.sock \
-v "$PWD:$PWD" \
-w="$PWD" \
docker/compose'"'" >> ~/.bashrc
source ~/.bashrc
推荐一同部署 ctop 这个可视化的容器管理程序
echo alias ctop="'"'docker run --rm --name ctop -ti \
-v /var/run/docker.sock:/var/run/docker.sock \
quay.io/vektorlab/ctop'"'" >> ~/.bashrc
📝Compose 模板文件
默认的模板文件名称为 docker-compose.yml
,格式为 YAML 格式。
---
version: "2.1"
services:
xxx:
image: uuuu/xxx
container_name: xxx
environment:
# - ALL_PROXY=socks5://192.168.168.4:7890
- PUID=1000
- PGID=100
- TZ=Asia/Shanghai
# tty: true
# privileged: true
volumes:
- ./config:/config
network_mode: bridge #host
# dns:
# - 8.8.8.8
# ports:
# - 8096:8096
# devices:
# - /dev/dri:/dev/dri #分配显卡给容器
# tmpfs:
# - /tmp #共享/tmp目录
# command: sh -c "cd /config && chmod a+x npc && ./npc"
mem_limit: 512m #限制容器可用内存
cpus: 0.5 #限制容器可用 CPU占比
restart: unless-stopped
📌常用命令
yaml 文件同目录内输入命令
- 启动容器:
docker-compose up -d
- 停止容器:
docker-compose down
- 查看进程:
docker-compose top
- 重启容器:
docker-compose restart
- 查看日志:
docker-compose logs
- 查看端口:
docker-compose port
- 拉取镜像:
docker-compose pull
- 进入容器内的终端:
docker-compose exec {container-name} sh