docker-compose安装和简单使用
本文介绍docker-compose的安装和使用
新版docker已经默认安装了docker-compose
可以使用docker-compose -v 查看docker-compose版本
如果没有的话可以使用以下命令直接安装
sudo curl -L https://github.com/docker/compose/releases/download/1.16.1/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
#添加可执行权限
sudo chmod +x /usr/local/bin/docker-compose
接下来就可以愉快的使用docker-compose了✌️
以下是一下docker-compose.yaml文件供参考(分别是memos(在线备忘录)和nextcloud(可以当一个nas服务使用)和nextcloud所依赖的数据库存储服务)一个简单的使用,本yaml指定了version、听说目前新版可以不用指定version,并且可以直接使用docker执行docker-compose.yaml文件,具体本人还没有使用过。
docker-compose up -d ##就能直接启动容器了
之后就可以使用宿主机Ip加所映射的端口就可以访问所运行的服务了
例:127.0.0.1:5230就可以访问memos服务
version: '3' # 使用 Docker Compose 文件版本 3
volumes:
nextcloud: # Nextcloud 数据存储卷
db: # 数据库数据存储卷
services:
memos:
image: neosmemo/memos:stable # 拉取的景像
container_name: memos
restart: always #容器启动方式
ports:
- 5230:5230 # 端口映射 将容器内端口映射到宿主机上
volumes:
- /Volumes/catoData/memos:/var/opt/memos # 将容器内文件挂载到宿主机上
db:
image: mysql:8.0 # 使用 mysql 8.0 镜像
restart: always # 总是重新启动容器
command: --transaction-isolation=READ-COMMITTED --log-bin=binlog --binlog-format=ROW # 设置数据库命令和配置
volumes:
- /Volumes/catoData/db:/var/lib/mysql # 将数据库数据存储到卷中
environment: # 环境变量
- MYSQL_ROOT_PASSWORD=*** # 设置 MySQL root 用户密码(为空)
- MYSQL_PASSWORD=*** # 设置 Nextcloud 数据库用户密码(为空)
- MYSQL_DATABASE=nextcloud # 设置 Nextcloud 数据库名
- MYSQL_USER=nextcloud # 设置 Nextcloud 数据库用户名
app:
image: nextcloud # 使用 Nextcloud 镜像
container_name: nextcloud
restart: always # 总是重新启动容器
ports:
- 8080:80 # 映射容器端口 80 到主机端口 8080
links:
- db # 与 db 服务建立链接
volumes:
- /Volumes/catoData/data:/var/www/html
- /Volumes/catoData/allData:/var/myData # 将 Nextcloud 数据存储到卷中
environment:
- MYSQL_PASSWORD=*** # 设置 Nextcloud 数据库用户密码(为空)
- MYSQL_DATABASE=nextcloud # 设置 Nextcloud 数据库名
- MYSQL_USER=nextcloud # 设置 Nextcloud 数据库用户名
- MYSQL_HOST=db # 指定数据库服务的主机名为 db