配置文件结构

在这里插入图片描述

环境

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

更多推荐