搬砖的陈大师版权所有,转载请注明: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. 13、Java菜单条、菜单、菜单项

    13.Java菜单条.菜单.菜单项 一般用Java做界面时,都得牵涉到菜单条.菜单.菜单项的设计.菜单项放在菜单里,菜单放在菜单条里,且其字体均可设置. 13.1.菜单条(Menubar) Frame ...

  2. 4、Swing在JPanel中添加背景图片方法

    4.Jpanel面板中加载背景图片 在实际应用Java做界面的过程中,常常会涉及到加载背景图片以使页面美化.下面整理了一个小模块以便于调用. 1 package com.tntxia.commonsw ...

  3. Linux parent process and child process when 'sudo'

    如果在一般用户下如user,执行sudo命令,会产生两个进程. ps -ef | grep Container root 4305 643 0 16:37 pts/39 00:00:00 sudo . ...

  4. web 直播&即时聊天------阿里云、融云(二)

    上一篇简要主要介绍了融云制作聊天室的基本方法,这次基本属于对上一篇的补充以及进阶...^_^... (ps:吐槽一下,加了三个融云的线下qq群,全部没人解决问题,也不知道建此群的意义,若是民间的话就当 ...

  5. How To Configure VMware fencing using fence_vmware_soap in RHEL High Availability Add On(RHEL Pacemaker中配置STONITH)

    本文主要简单介绍一下如何在RHEL 7 Pacemaker中配置一个fence_vmware_soap类型的STONITH设备(仅供测试学习). STONITH是Shoot-The-Other-Nod ...

  6. Linux与mv命令结合,移动文件至指定目录

    转自:http://blog.csdn.net/hardwin/article/details/7711635 把当前目录下面的file(不包括目录),移动到/opt/shell find  .  - ...

  7. [Leetcode] Binary search, Divide and conquer--240. Search a 2D Matrix II

    Write an efficient algorithm that searches for a value in an m x n matrix. This matrix has the follo ...

  8. 用java实现给图片增加图片水印或者文字水印(也支持视频图像帧添加水印)

    javaCV图像处理系列: javaCV图像处理之1:实时视频添加文字水印并截取视频图像保存成图片,实现文字水印的字体.位置.大小.粗度.翻转.平滑等操作 javaCV图像处理之2:实时视频添加图片水 ...

  9. PHP的面向对象 — 封装、继承、多态

    K在上一次的基础篇中给大家介绍了一下关于PHP中数组和字符串的使用方法等,这一次,K决定一次性大放送,给大家分享一下PHP中面向对象的三大特性:封装.继承.多态三个方面的知识. 一.封装 在PHP中, ...

  10. 常见的Message Queue应用场景

    在最近的工作的里面有同事问到我说,为什么我们需要一个Message Queue,Message Queue可以在哪些地方用,经过一些整理,大概能找到这些点,假如你有这方面的要求,也可以考虑使用Mess ...