朱雀桥边野草花,
乌衣巷口夕阳斜。
旧时王谢堂前燕,
飞入寻常百姓家。
Docker Compose is a tool for defining and running multi-container applications. It is the key to unlocking a streamlined and efficient development and deployment experience.
Docker Compose 是多容器应用的定义和运行工具。它是开启自动化高效开发和部署体验的关键
Compose simplifies the control of your entire application stack, making it easy to manage services, networks, and volumes in a single YAML configuration file. Then, with a single command, you create and start all the services from your configuration file.
Compose works in all environments; production, staging, development, testing, as well as CI workflows. It also has commands for managing the whole lifecycle of your application:
- Start, stop, and rebuild services
- View the status of running services
- Stream the log output of running services
- Run a one-off command on a service
在线安装教程
前置条件是需要安装了Docker
下载最新稳定版(替换版本号)
官方版本
sudo curl -L "https://github.com/docker/compose/releases/download/v2.37.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
国内加速版本
sudo curl -L "https://mirrors.huaweicloud.com/docker-compose/releases/download/v2.37.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
授予执行权限
sudo chmod +x /usr/local/bin/docker-compose
创建符号链接(解决命令找不到问题)
sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose
验证安装
docker-compose --version
手动安装教程
在浏览器访问下载或者官网下载
https://mirrors.huaweicloud.com/docker-compose/releases/v2.24.7/docker-compose-linux-$(uname -m)
根据 uname -m的值选择相应的架构:
-
x86_64(64位Intel/AMD)
-
aarch64(ARM架构)
上传到服务器
# 拷贝到/usr/local/bin目录
sudo mv /tmp/docker-compose-linux-$(uname -m) /usr/local/bin/docker-compose
# 调整权限
sudo chmod +x /usr/local/bin/docker-compose
sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose
验证安装
docker-compose --version
注:从GitHub Release页面获取最新版本号替换v2.37.1
#手册
Docker Compose手册
数据库
# 在这里编写你的 docker-compose.yml 文件
services:
mysql:
container_name: mysql-container
image: mysql:8.0
ports:
- "3306:3306"
environment:
MYSQL_ROOT_PASSWORD: 11235813@cnb # 通过环境变量设置root用户的密码
volumes:
- mysql-data:/var/lib/mysql # 设置volume实现持久化
- ./init.sql:/docker-entrypoint-initdb.d/init.sql # 第一次启动的时候会执行iinit.sql文件
volumes:
mysql-data: