Docker-compose 多个Docker容器管理:以MYSQL和Wordpress为例
搬砖的陈大师版权所有,转载请注明:http://www.lenggirl.com/tool/docker-compose.html
Docker-compose 多个Docker容器管理:以MYSQL和Wordpress为例
环境:Ubuntu
jinhan@jinhan-chen-110:~$ uname -a
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
jinhan@jinhan-chen-110:~$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 16.04.2 LTS
Release: 16.04
Codename: xenial
先安装好docker:参考:http://www.lenggirl.com/tool/docker-ubuntu-install.html
一. 安装
curl -L https://github.com/docker/compose/releases/download/1.8.1/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose
二. 拉镜像
docker pull mysql
docker pull wordpress
三. 编辑docker-compose.yaml
version: '2'
services:
web:
image: wordpress:latest
depends_on:
- db
links:
- db
ports:
- "8002:80"
environment:
WORDPRESS_DB_HOST: db:3306
WORDPRESS_DB_PASSWORD: 123456
volumes:
- /home/jinhan/wordpress:/var/www/html
db:
image: mysql
ports:
- "8003:3306"
environment:
- MYSQL_ROOT_PASSWORD=123456
volumes:
- /home/jinhan/mysql/data:/var/lib/mysql
- /home/jinhan/mysql/conf:/etc/mysql/conf.d
说明:
version: '2'
services:
web: // 服务名
image: wordpress:latest // 镜像名
depends_on: // 依赖的服务名,即是必须在这个服务启动后再启动
- db
links: // 链接到的服务,即是对于这个服务洪的容器,网络是透明的,可以直接使用其内部端口访问
- db
ports: // 端口主机映射,在外面可以用8002访问到网站
- "8002:80"
environment: // 环境变量
WORDPRESS_DB_HOST: db:3306 // 数据库地址,服务名和端口,因为上面已经links,所以自动会寻址
WORDPRESS_DB_PASSWORD: 123456 // 数据库密码
volumes:
- /home/jinhan/wordpress:/var/www/html // 挂载卷,拉镜像会把wordpress下载在这里,我们把它挂载在本地,这样我们修改本地文件即可
db:
image: mysql
ports:
- "8003:3306"
environment:
- MYSQL_ROOT_PASSWORD=123456
volumes:
- /home/jinhan/mysql/data:/var/lib/mysql // 数据库数据,挂在本地
- /home/jinhan/mysql/conf:/etc/mysql/conf.d // 数据库配置,我们要自己放
四. 挂载卷
我们用MYSQL和Wordpress来做试验
先配置mysql config,加大连接数,因为连接数可能会爆:
mkdir -p /home/jinhan/mysql/conf
vim /home/jinhan/mysql/conf/my.cnf
[mysqld]
max_connections = 15000
max_connect_errors = 6000
open_files_limit = 65535
table_open_cache = 1000
skip-name-resolve
我们已经把所有的卷都挂在本地,这样你每次启动的数据都不会消失!
五. 启动
docker-compose up
浏览器访问:http://127.0.0.1:8002/ 数据库访问:root:123456 端口8003
如果
show variables like '%max_connect%';
显示15000,配置成功!
六. 查看
docker-compose ps
七. 后台启动
docker-compose up -d
八. 查看日志
docker-compose logs -f
九. 删除容器
docker-compose rm
十. 寻求帮助
docker-compose -h
搬砖的陈大师版权所有,转载请注明:http://www.lenggirl.com/tool/docker-compose.html
Docker-compose 多个Docker容器管理:以MYSQL和Wordpress为例的更多相关文章
- Docker Compose部署项目到容器-基于Tomcat和mysql的项目yml配置文件代码
场景 Docker-Compose简介与Ubuntu Server 上安装Compose: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/deta ...
- Docker之单多/机容器管理
Compose是用于定义和运行多容器Docker应用程序的工具.通过Compose,您可以使用YAML文件来配置应用程序的服务.然后,使用一个命令,就可以从配置中创建并启动所有服务. Docker-C ...
- docker简单介绍----镜像和容器管理
docker可以分为三部分:docker镜像 docker仓库 docker容器 docker镜像:一个image可以包含一个镜像,也可以理解为一个系统模板,里面安装了相关应用,也可以是纯净版的 ...
- Docker Compose部署项目到容器-基于Tomcat和mysql的商城项目(附源码和sql下载)
场景 Docker-Compose简介与Ubuntu Server 上安装Compose: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/deta ...
- Docker&K8S&持续集成与容器管理--系列教程
前言 网络虚拟化 一 Docker简介 Docker介绍 → B站视频链接 Docker架构 → B站视频链接 二 Docker安装 Ubuntu Docker 安装 CentOS Docker ...
- docker 创建.netcore2.2 api容器 以及连接mysql容器
1]环境说明 操作系统:Window 10 专业版 开发工具 Vs2019专业版 Docker: Docker for Windows docker在windows上安装完毕之后可以看到 2]拉取 ...
- [Docker6] Docker compose多容器运行与管理
六.Docker compose docker compose就是通过yml文件来定义和运行多个容器docker应用程序的工具,三步过程就能跑起一个compose: 定义应用程序的环境(yml中) 定 ...
- Docker 容器管理
单一容器管理 容器的标识符 每个容器被创建后都会分配一个CONTAINER_ID作为容器的唯一标识符,后续的启动.停止等操作都通过CONTAINER_ID来完成的. CONTAINER_ID很难记忆, ...
- Docker深入浅出系列 | Docker Compose多容器实战
目录 前期准备 Docker Compose是什么 为什么要用Docker Compose Docker Compose使用场景 Docker Compose安装 Compose Yaml文件结构 C ...
随机推荐
- Nodejs 进阶:Express 常用中间件 body-parser 实现解析
本文摘录自<Nodejs学习笔记>,更多章节及更新,请访问 github主页地址.欢迎加群交流,群号 197339705. 写在前面 body-parser是非常常用的一个express中 ...
- 【LR11】Error -27796: Failed to connect to server"server:port": [10060] Connection timed out错误解决办法
场景描述:被测系统是发布在远程服务器上的,假设IP是10.10.10.10,端口是8066,那么访问地址是http://10.10.10.10:8066/,在control机器上我设置了IP欺骗. ...
- 10.Java 加解密技术系列之 DH
Java 加解密技术系列之 DH 序 概念 原理 代码实现 结果 结束语 序 上一篇文章中简单的介绍了一种非对称加密算法 — — RSA,今天这篇文章,继续介绍另一种非对称加密算法 — — DH.当然 ...
- 《NLTK基础教程》译者序
购买<NLTK基础教程> 说来也凑巧,在我签下这本书的翻译合同时,这个世界好像还不知道AlphaGo的存在.而在我完成这本书的翻译之时,Master已经对人类顶级高手连胜60局了.至少从媒 ...
- 移动端web解决方案
范畴 移动端web浏览器.至少需要适配的,UC,QQ,各手机内置浏览器,chrome,safari. 是不是觉得和PC端差不多?错了!每款同一版本ios的内置浏览器一样.但每款同一版本android的 ...
- Windows 7 蓝屏代码大全 & 蓝屏全攻略
关于Windows 7.Vista等系统的蓝屏,之前软媒在Win7之家和Vista之家都有很多文章讨论过,但是都是筛选的常见的一些问题,今天这个文章是个大全,希望大家看着别头痛,文章收藏下来以后待查即 ...
- php笔记一
一.Login登陆验证步骤: 1.赋值,用$_POST将id和password传递给loginProcess.php登陆验证页面. 2.建立数据库连接 $conn=mysql_connect($hos ...
- C#码农的大数据之路 - 使用Ambari自动化安装HDP2.6(基于Ubuntu16.04)并运行.NET Core编写的MR作业
准备主机 准备3台主机,名称作用如下: 昵称 Fully Qualified Domain Name IP 作用 Ubuntu-Parrot head1.parrot 192.168.9.126 Am ...
- Android Studio 工具栏添加常用按钮
本文中 Android Studio 的版本为 android Studio 2.2 ,操作系统为 Windows,如有操作不同,可能是版本差异.在工具栏中添加一些常用的按钮,如设置.DDMS,有利于 ...
- cpp(第六章)
1. #include <iostream> #include <limits> int main() { ; ) { std::cout<<"enter ...