搬砖的陈大师版权所有,转载请注明: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为例的更多相关文章

  1. Docker Compose部署项目到容器-基于Tomcat和mysql的项目yml配置文件代码

    场景 Docker-Compose简介与Ubuntu Server 上安装Compose: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/deta ...

  2. Docker之单多/机容器管理

    Compose是用于定义和运行多容器Docker应用程序的工具.通过Compose,您可以使用YAML文件来配置应用程序的服务.然后,使用一个命令,就可以从配置中创建并启动所有服务. Docker-C ...

  3. docker简单介绍----镜像和容器管理

    docker可以分为三部分:docker镜像   docker仓库  docker容器 docker镜像:一个image可以包含一个镜像,也可以理解为一个系统模板,里面安装了相关应用,也可以是纯净版的 ...

  4. Docker Compose部署项目到容器-基于Tomcat和mysql的商城项目(附源码和sql下载)

    场景 Docker-Compose简介与Ubuntu Server 上安装Compose: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/deta ...

  5. Docker&K8S&持续集成与容器管理--系列教程

    前言 网络虚拟化 一 Docker简介 Docker介绍  → B站视频链接 Docker架构  → B站视频链接 二 Docker安装 Ubuntu Docker 安装 CentOS Docker ...

  6. docker 创建.netcore2.2 api容器 以及连接mysql容器

    1]环境说明 操作系统:Window 10 专业版 开发工具 Vs2019专业版 Docker:  Docker for Windows  docker在windows上安装完毕之后可以看到 2]拉取 ...

  7. [Docker6] Docker compose多容器运行与管理

    六.Docker compose docker compose就是通过yml文件来定义和运行多个容器docker应用程序的工具,三步过程就能跑起一个compose: 定义应用程序的环境(yml中) 定 ...

  8. Docker 容器管理

    单一容器管理 容器的标识符 每个容器被创建后都会分配一个CONTAINER_ID作为容器的唯一标识符,后续的启动.停止等操作都通过CONTAINER_ID来完成的. CONTAINER_ID很难记忆, ...

  9. Docker深入浅出系列 | Docker Compose多容器实战

    目录 前期准备 Docker Compose是什么 为什么要用Docker Compose Docker Compose使用场景 Docker Compose安装 Compose Yaml文件结构 C ...

随机推荐

  1. 《安卓网络编程》之第六篇 Android中的WIFI和蓝牙

    关于WIFI就不多介绍啦,直接来个段子吧. 问:“WiFi对人体有伤害么?” 答:“不清楚,反正没有WiFi我就浑身不舒服. 比较重要的一点就是WifiManager  wm=(WifiManager ...

  2. 关于Cookie的知识的总结

    Cookie的类型 会话cookie和持久cookie 会话cookie是一种临时cookie,它记录了用户访问站点时的设置和偏好,当用户退出浏览器时,会话cookie就会被删除. 持久cookie的 ...

  3. 卫星导航低噪声放大器芯片(LNA)-AT2659

    AT2659 是一款专门针对中国 BDS(北斗卫星导航系统),美国的 GPS,俄罗斯的 GLONASS 和欧盟的 GALILEO 导航系统应用而设计的高增益.低噪声系数射频放大器.  AT2659 芯 ...

  4. Github+Hexo,搭建专属网站

    前言 记得从大二开始,就一直想搭个专属网站,当时使劲抠页面[前端页面是从QQ空间抠的,现在想抠估计没这么容易了],写代码,忙活半天才把程序弄好. 可惜最终项目还是没上线,因为当时有两问题绕不开 需要购 ...

  5. Generating Sankey Diagrams from rCharts

    A couple of weeks or so ago, I picked up an inlink from an OCLC blog post about Visualizing Network ...

  6. 一、Openstack_Ocata环境部署准备

    OpenStack Ocata环境搭建准备 1.workstation下配置3个虚拟交换机 点击编辑-->虚拟网络编辑器 名称 IP地址 作用 VMnet1 10.1.1.0 Openstack ...

  7. 基于HTML5 Canvas 实现弹出框

    用户鼠标移入时,有弹出框出现,这样的需求很常见.这在处理HTML元素实现时简单,但是如果是对HTML5 Canvas 构成的图形进行处理,这种方法不再适用,因为Canvas使用的是另外一套机制,无论在 ...

  8. NodeJs的简单介绍

    Nodejs是由谷歌v8运行.c++编写的js运行的环境,这里需要记住的是Nodejs只是一个环境.  目前很多主流网站都是使用nodejs,如知乎等大型的网站. 我们关于nodejs学习目标:安装N ...

  9. WPF MVVM 架构 Step By Step(2)(简单的三层架构示例及粘合代码GLUE code)

    我们第一步就是去了解三层架构和问题然后去看MVVM是怎么去解决这些问题的. 现在,感觉和事实是完全不同的两个东西.当你看到三层架构的框图的时候,你会觉得每层的职责被分配的很好.但是当你你真的去写代码的 ...

  10. 单机部署 kubernets 方法汇总

    #minikube : 可以方便的在本机用虚拟机创建一个开箱即用的Kubernetes集群 #kubeadm : 可以自动化的将多台Ubuntu或者CentOS主机组建成集群 #nanokube,ki ...