用Docker部署WordPress+MySQL主从同步
·
配置文件结构

环境
ubuntu-22.04.5已部署好Docker环境。
具体配置文件内容如下
50-server.cnf
[server]
[mysqld]
user=mysql
#skip-networking=0
#bind-address = 0.0.0.0
#require_secure_transport = ON
pid-file=/run/mysqld/mysqld.pid
socket=/run/mysqld/mysqld.sock
basedir=/usr
datadir=/var/lib/mysql
tmpdir=/tmp
lc-messages-dir=/usr/share/mysql
query_cache_size=16M
log_error=/var/log/mysql/error.log
server-id=2
log_bin=mysql-bin
expire_logs_days=10
binlog_ignore_db=mysql
character-set-server=utf8mb4
collation-server=utf8mb4_general_ci
[embedded]
[mariadb]
[mariadb-10.3]
docker-compose.yml
在docker-compose中,容器之间由Docker引擎及相关组件自行进行网络转发,因此无需进行网络端口映射,此时db1、db2服务不占用主机端口。甚至现在还可以再启动MySQL服务,占用主机端口号3306.
version: "3.8"
services:
db1:
image: ubuntu:db1
build:
context: .
dockerfile: MDockerfile
networks:
- wp_network
#ports:
#- 33060:3306
db2:
image: ubuntu:db2
build:
context: .
dockerfile: SDockerfile
networks:
- wp_network
#ports:
#- 33061:3306
wordpress-srv:
depends_on:
#depends_on字段给出wordpress-srv服务启动时所依赖的其他服务,由于WordPress服务启动时需要数据库MySQL服务的支持,
#因此在该部分引用了数据库服务:db1 、db2,等待这两个服务启动成功后再启动wordpress-srv.
- db1
- db2
image: wordpress:6.0.2-apache
container_name: wordpress
ports:
- 80:80
environment:
- WORDPRESS_DB_HOST=db1
- WORDPRESS_DB_NAME=wpdb
- WORDPRESS_DB_USER=wpuser
- WORDPRESS_DB_PASSWORD=123456
networks:
- wp_network
networks:
wp_network:
driver: bridge
MDockerfile
FROM ubuntu:latest
MAINTAINER dong
COPY sources.list /etc/apt
RUN apt-get update && apt-get dist-upgrade -y \
&& apt-get install mariadb-server -y
COPY 50-server.cnf /etc/mysql/mariadb.conf.d/50-server.cnf
RUN /etc/init.d/mariadb start \
&& mysql -u root -e"create user'root'@'%'identified by '12345678'" \
&& mysql -u root -e"grant all on *.* to'root'@'%'" \
&& mysql -u root -e"create database wpdb" \
&& mysql -u root -e"create user'wpuser'@'%'identified by '123456'" \
&& mysql -u root -e"grant all on wpdb.* to'wpuser'@'%'"
EXPOSE 3306
CMD /usr/bin/mysqld_safe
SDockerfile
FROM ubuntu:latest
MAINTAINER dong
COPY sources.list /etc/apt
RUN apt-get update && apt-get dist-upgrade -y \
&& apt-get install mariadb-server -y \
&& sed -i 's/bind-address/#bind-address/g' /etc/mysql/mariadb.conf.d/50-server.cnf \
&& /etc/init.d/mariadb start \
&& mysql -u root -e"change master to master_host='db1',master_user='root',master_password='12345678'" \
&& mysql -u root -e"start slave"
EXPOSE 3306
CMD /usr/bin/mysqld_safe
sources.list
# See http://help.ubuntu.com/community/UpgradeNotes for how to upgrade to
# newer versions of the distribution.
deb http://mirrors.aliyun.com/ubuntu jammy main restricted
# deb-src http://mirrors.aliyun.com/ubuntu jammy main restricted
## Major bug fix updates produced after the final release of the
## distribution.
deb http://mirrors.aliyun.com/ubuntu jammy-updates main restricted
# deb-src http://mirrors.aliyun.com/ubuntu jammy-updates main restricted
## N.B. software from this repository is ENTIRELY UNSUPPORTED by the Ubuntu
## team. Also, please note that software in universe WILL NOT receive any
## review or updates from the Ubuntu security team.
deb http://mirrors.aliyun.com/ubuntu jammy universe
# deb-src http://mirrors.aliyun.com/ubuntu jammy universe
deb http://mirrors.aliyun.com/ubuntu jammy-updates universe
# deb-src http://mirrors.aliyun.com/ubuntu jammy-updates universe
## N.B. software from this repository is ENTIRELY UNSUPPORTED by the Ubuntu
## team, and may not be under a free licence. Please satisfy yourself as to
## your rights to use the software. Also, please note that software in
## multiverse WILL NOT receive any review or updates from the Ubuntu
## security team.
deb http://mirrors.aliyun.com/ubuntu jammy multiverse
# deb-src http://mirrors.aliyun.com/ubuntu jammy multiverse
deb http://mirrors.aliyun.com/ubuntu jammy-updates multiverse
# deb-src http://mirrors.aliyun.com/ubuntu jammy-updates multiverse
## N.B. software from this repository may not have been tested as
## extensively as that contained in the main release, although it includes
## newer versions of some applications which may provide useful features.
## Also, please note that software in backports WILL NOT receive any review
## or updates from the Ubuntu security team.
deb http://mirrors.aliyun.com/ubuntu jammy-backports main restricted universe multiverse
# deb-src http://mirrors.aliyun.com/ubuntu jammy-backports main restricted universe multiverse
deb http://security.ubuntu.com/ubuntu/ jammy-security main restricted
# deb-src http://security.ubuntu.com/ubuntu/ jammy-security main restricted
deb http://security.ubuntu.com/ubuntu/ jammy-security universe
# deb-src http://security.ubuntu.com/ubuntu/ jammy-security universe
deb http://security.ubuntu.com/ubuntu/ jammy-security multiverse
# deb-src http://security.ubuntu.com/ubuntu/ jammy-security multiverse
更多推荐
所有评论(0)