当前位置:Gxlcms > 数据库问题 > Docker-compose 多个Docker容器管理:以MYSQL和Wordpress为例

Docker-compose 多个Docker容器管理:以MYSQL和Wordpress为例

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

搬砖的陈大师版权所有,转载请注明:http://www.lenggirl.com/tool/docker-compose.html

Docker-compose 多个Docker容器管理:以MYSQL和Wordpress为例

环境:Ubuntu

  1. jinhan@jinhan-chen-110:~$ uname -a
  2. Linux jinhan-chen-110 4.4.0-83-generic #106-Ubuntu SMP Mon Jun 26 17:54:43 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux
  3. jinhan@jinhan-chen-110:~$ lsb_release -a
  4. No LSB modules are available.
  5. Distributor ID:
  6. Ubuntu
  7. Description:
  8. Ubuntu 16.04.2 LTS
  9. Release:
  10. 16.04
  11. Codename:
  12. xenial

 

先安装好docker:参考:http://www.lenggirl.com/tool/docker-ubuntu-install.html

一. 安装

  1. curl -L https://github.com/docker/compose/releases/download/1.8.1/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
  2. chmod +x /usr/local/bin/docker-compose

二. 拉镜像

  1. docker pull mysql
  2. docker pull wordpress

三. 编辑docker-compose.yaml

  1. version: ‘2‘
  2. services:
  3. web:
  4. image: wordpress:latest
  5. depends_on:
  6. - db
  7. links:
  8. - db
  9. ports:
  10. - "8002:80"
  11. environment:
  12. WORDPRESS_DB_HOST: db:3306
  13. WORDPRESS_DB_PASSWORD: 123456
  14. volumes:
  15. - /home/jinhan/wordpress:/var/www/html
  16. db:
  17. image: mysql
  18. ports:
  19. - "8003:3306"
  20. environment:
  21. - MYSQL_ROOT_PASSWORD=123456
  22. volumes:
  23. - /home/jinhan/mysql/data:/var/lib/mysql
  24. - /home/jinhan/mysql/conf:/etc/mysql/conf.d

 

说明:

  1. version: ‘2‘
  2. services:
  3. web: // 服务名
  4. image: wordpress:latest // 镜像名
  5. depends_on: // 依赖的服务名,即是必须在这个服务启动后再启动
  6. - db
  7. links: // 链接到的服务,即是对于这个服务洪的容器,网络是透明的,可以直接使用其内部端口访问
  8. - db
  9. ports: // 端口主机映射,在外面可以用8002访问到网站
  10. - "8002:80"
  11. environment: // 环境变量
  12. WORDPRESS_DB_HOST: db:3306 // 数据库地址,服务名和端口,因为上面已经links,所以自动会寻址
  13. WORDPRESS_DB_PASSWORD: 123456 // 数据库密码
  14. volumes:
  15. - /home/jinhan/wordpress:/var/www/html // 挂载卷,拉镜像会把wordpress下载在这里,我们把它挂载在本地,这样我们修改本地文件即可
  16. db:
  17. image: mysql
  18. ports:
  19. - "8003:3306"
  20. environment:
  21. - MYSQL_ROOT_PASSWORD=123456
  22. volumes:
  23. - /home/jinhan/mysql/data:/var/lib/mysql // 数据库数据,挂在本地
  24. - /home/jinhan/mysql/conf:/etc/mysql/conf.d // 数据库配置,我们要自己放

 

四. 挂载卷

我们用MYSQL和Wordpress来做试验

先配置mysql config,加大连接数,因为连接数可能会爆:

  1. mkdir -p /home/jinhan/mysql/conf
  2. vim /home/jinhan/mysql/conf/my.cnf
  3. [mysqld]
  4. max_connections = 15000
  5. max_connect_errors = 6000
  6. open_files_limit = 65535
  7. table_open_cache = 1000
  8. skip-name-resolve

 

我们已经把所有的卷都挂在本地,这样你每次启动的数据都不会消失!

五. 启动

  1. docker-compose up

 

浏览器访问:http://127.0.0.1:8002/ 数据库访问:root:123456 端口8003

如果

  1. show variables like ‘%max_connect%‘;

 

显示15000,配置成功!

六. 查看

  1. docker-compose ps

 

七. 后台启动

  1. docker-compose up -d

 

八. 查看日志

  1. docker-compose logs -f

九. 删除容器

  1. docker-compose rm

十. 寻求帮助

  1. docker-compose -h

搬砖的陈大师版权所有,转载请注明:http://www.lenggirl.com/tool/docker-compose.html

Docker-compose 多个Docker容器管理:以MYSQL和Wordpress为例

标签:etc   mysql   click   too   tor   show   code   head   config   

人气教程排行