当前位置:Gxlcms > 数据库问题 > docker docker-compose编排服务运行测试mysql

docker docker-compose编排服务运行测试mysql

时间:2021-07-01 10:21:17 帮助过:9人阅读

get.daocloud.io/docker/compose/releases/download/1.25.0/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose // 授权 chmod +x /usr/local/bin/docker-compose // 重启服务 systemctl restart docker

2、创建私有网络mynetwork:

docker network create --subnet=172.30.0.0/16 mynetwork
// 查看网络mynetwork
docker network list
// 进入网络mynetwork查看 
docker network inspect mynetwork

3、创建宿主机文件夹目录

// 数据目录data
// 配置文件目录config
// 日志目录log

mkdir -p /home/soft/mysql/data
mkdir -p /home/soft/mysql/config
mkdir -p /home/soft/mysql/logs
mkdir -p /home/soft/mysql2/data
mkdir -p /home/soft/mysql2/config
mkdir -p /home/soft/mysql2/logs

// 创建配置文件my.cnf

cd /home/soft/mysql/config
vi my.cnf
// 增加如下内容
[mysqld]
user=mysql
character-set-server=utf8
default_authentication_plugin=mysql_native_password
default-storage-engine=INNODB
sql_mode=ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
max_connections=1500
[client]
default-character-set=utf8
[mysql]
default-character-set=utf8

 

4、之前安装mysql的原始docker命令:

docker create -e MYSQL_ROOT_PASSWORD=123456 -v /home/soft/mysql/config/my.cnf:/etc/mysql/my.cnf -v /home/soft/mysql/logs:/logs -v /home/soft/mysql/data:/var/lib/mysql -p 9205:3306 --net=mynetwork --ip 172.30.0.3 --name mysql1 mysql:5.6.47
启动服务
docker start mysql1
【遇到异常】
iptables failed: iptables --wait -t nat -A DOCKER -p tcp -d 0/0 --dport
【解决】重启docker
systemctl restart docker

 

5、编排服务,安装mysql数据库测试
创建docker-compose-mysql.yml

version: 3  # 使用Docker-Compose版本
services:
    mysql: 
        image: mysql:5.6.47  # 使用mysql镜像
        restart: always
        container_name: mysql2  # mysql最后的容器名
        environment:
            MYSQL_ROOT_PASSWORD: 123456  # 设置root用户的密码
        networks:
            mynetwork:
                ipv4_address: 172.30.0.4 # 分配ip地址
        volumes:                         # 将自己顶一个数据和配置文件映射到mysql容器对应的文件
            - /home/soft/mysql/data:/var/lib/mysql
            - /home/soft/mysql/config/my.cnf:/etc/my.cnf
            - /home/soft/mysql/logs:/logs
        ports:
            - 9206:3306                # 将3306端口映射到主机的6606
networks:                                # 定义网络地址
    mynetwork:                             # 使用自有网络
        external: true

 

最终修改文件名称为:
docker-compose.yml
内容:

version: 3
services:
  mysql: 
    image: mysql:5.6.47
    restart: always
    container_name: mysql2
    environment:
      MYSQL_ROOT_PASSWORD: 123456
    networks:
      mynetwork:
        ipv4_address: 172.30.0.4
    volumes:
      - /home/soft/mysql2/data:/var/lib/mysql
      - /home/soft/mysql2/config/my.cnf:/etc/my.cnf
      - /home/soft/mysql2/logs:/logs
    ports:
      - 9206:3306
networks:
    mynetwork:
      external: true 

 

启动,一定要后台启动加上-d 否则,退出当前窗口后,服务就暂停了。
cd /home/soft/mysql2
docker-compose up -d

 

6、查看服务运行情况。

[root@localhost mysql2]# docker ps -a
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                    NAMES
fa74af70f4de        mysql:5.6.47        "docker-entrypoint.s…"   6 minutes ago       Up 6 minutes        0.0.0.0:9206->3306/tcp   mysql2
cfd91ace203f        mysql:5.6.47        "docker-entrypoint.s…"   23 minutes ago      Up 23 minutes       0.0.0.0:9205->3306/tcp   mysql1

 

通过客户端连接数据库。

宿主机IP+对外映射端口。。

技术图片

 

docker docker-compose编排服务运行测试mysql

标签:container   add   定义   minutes   定义网络   镜像   curl   配置   mysql数据库   

人气教程排行