docker创建MySQL镜像,搭建主从复制环境_mysql docker镜像
以下是一个简化的Dockerfile示例,用于创建一个自定义的MySQL镜像,并配置主从复制环境:
# 使用官方MySQL镜像作为基础镜像
FROM mysql:5.7
# 设置环境变量,用于主从复制配置
ENV MYSQL_REPLICATION_MODE=master
ENV MYSQL_REPLICATION_USER=replica
ENV MYSQL_REPLICATION_PASSWORD=replica_password
# 复制配置文件到容器内部
COPY mysql-master.cnf /etc/mysql/conf.d/
# 初始化数据库,如果有需要的话
# COPY ./init-db.sql /docker-entrypoint-initdb.d/
# 暴露端口,如果需要访问MySQL的话
EXPOSE 3306
# 运行MySQL服务
CMD ["mysqld"]
mysql-master.cnf
文件示例:
[mysqld]
server-id=1
log-bin=mysql-bin
log_slave_updates=1
auto_increment_increment=2
auto_increment_offset=1
构建和运行主从复制环境的Docker容器,你可以使用以下命令:
docker build -t my-custom-mysql .
docker run --name mysql-master -d my-custom-mysql
docker run --name mysql-slave -d --link mysql-master:masterhost my-custom-mysql
在运行从服务器的容器中,你需要配置从服务器以连接到主服务器,并使用之前设定的复制用户和密码。这通常是通过在从服务器的配置文件或者在启动时通过SQL命令完成的。
评论已关闭