【docker】开发环境部署
架构说明
查看当前docker运行架构:docker info | grep Architecture
Architecture: x86_64:英特尔 / AMD PC 的主流架构,常用于Intel CPU(笔记本、台式机)、AMD Ryzen / EPYC(服务器)、大多数传统服务器。
Architecture: aarch64:ARM 64 位架构,常用于:Apple Silicon(M1 / M2 / M3)、AWS Graviton 服务器、许多 ARM Linux 设备(树莓派 4、飞腾、鲲鹏等)、现代低功耗服务器
因此,开发环境使用_arm64后缀的镜像,生产环境使用_amd64后缀的镜像。
部署mysql:8.0.4
version: "3"
services:
mysql:
image: docker.cnb.cool/docker-lin/docker-sync/mysql:8.0_arm64
container_name: dev-mysql # 定义容器名称为 mysql
volumes:
- ./mysql/data:/var/lib/mysql # 挂载数据目录
- ./mysql/conf/my.cnf:/etc/mysql/mysql.conf.d/mysqld.cnf # 挂载自定义配置文件
restart: always # 容器总是尝试重新启动
networks:
- dev-network
ports:
- 3306:3306 # 将宿主机的 3336 端口映射到容器的 3306 端口
environment:
MYSQL_DATABASE: db_lin
MYSQL_USER: xiaolin
MYSQL_PASSWORD: 123456
MYSQL_ROOT_PASSWORD: 12345678 # 设置 root 用户的密码
TZ: Asia/Shanghai # 设置容器的时区为上海
command: --character-set-server=utf8mb4
部署Redis6.2:
version: "3"
services:
redis:
image: docker.cnb.cool/docker-lin/docker-sync/redis:6.2_arm64
container_name: dev-redis
restart: always
ports:
- 6379:6379
networks:
- dev-network
volumes:
- ./redis/data:/data
- ./redis/redis.conf:/usr/local/etc/redis/redis.conf
command: ["redis-server", "/usr/local/etc/redis/redis.conf"]完整的docker-componse.yml
version: "3"
services:
mysql:
image: docker.cnb.cool/docker-lin/docker-sync/mysql:8.0_arm64
container_name: dev-mysql # 定义容器名称为 mysql
volumes:
- ./mysql/data:/var/lib/mysql # 挂载数据目录
- ./mysql/conf/my.cnf:/etc/mysql/mysql.conf.d/mysqld.cnf # 挂载自定义配置文件
restart: always # 容器总是尝试重新启动
networks:
- dev-network
ports:
- 3306:3306 # 将宿主机的 3336 端口映射到容器的 3306 端口
environment:
MYSQL_DATABASE: db_lin
MYSQL_USER: xiaolin
MYSQL_PASSWORD: 123456
MYSQL_ROOT_PASSWORD: 12345678 # 设置 root 用户的密码
TZ: Asia/Shanghai # 设置容器的时区为上海
command: --character-set-server=utf8mb4
redis:
image: docker.cnb.cool/docker-lin/docker-sync/redis:6.2_arm64
container_name: dev-redis
restart: always
ports:
- 6379:6379
networks:
- dev-network
volumes:
- ./redis/data:/data
- ./redis/redis.conf:/usr/local/etc/redis/redis.conf
command: ["redis-server", "/usr/local/etc/redis/redis.conf"]
# 连接外部网络
networks:
dev-network:
driver: bridge # 设置桥接网络
许可协议:
CC BY 4.0