11:docker-compose(单机版的容器编排工具)

docker-compose(单机版的容器编排工具)

前面我们使用 Docker 的时候,定义 Dockerfile 文件,然后使用 docker build、docker run 等命令操作容器。
然而微服务架构的应用系统一般包含若干个微服务,每个微服务一般都会部署多个实例,如果每个微服务都要手动启停,
那么效率之低,维护量之大可想而知
使用 Docker Compose 可以轻松、高效的管理容器,它是一个用于定义和运行多容器 Docker 的应用程序工具

#详细用法和解释
http://www.jianshu.com/p/2217cfed29d7

#安装(需要先安装epel源)
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
[[email protected] ~]# yum install -y python2-pip

##pip 加速(https://mirrors.tuna.tsinghua.edu.cn/help/pypi/)
[[email protected] ~]#pip install -i https://pypi.tuna.tsinghua.edu.cn/simple docker-compose

验证是否安装成功:
[[email protected] ~]# docker-compose -v
docker-compose version 1.24.1, build 4667896
[[email protected] ~]# docker-compose version
docker-compose version 1.24.1, build 4667896
docker-py version: 3.7.3
CPython version: 2.7.5
OpenSSL version: OpenSSL 1.0.2k-fips 26 Jan 2017
[[email protected] ~]#

#使用compose 起镜像,解决依懒关系,不然手动的,我们需要先起mysql数据库,然后在起wordpress容器。
#现在使用compose,只需要配置一下文件,一键启动
[[email protected] my_wordpress]# cd my_wordpress/
[[email protected] my_wordpress]# vi docker-compose.yml
version: ‘3‘

services:
db:
image: mysql:5.7
volumes:
- db_data:/var/lib/mysql
restart: always
environment:
MYSQL_ROOT_PASSWORD: somewordpress
MYSQL_DATABASE: wordpress
MYSQL_USER: wordpress
MYSQL_PASSWORD: wordpress

wordpress:
depends_on:
- db
image: wordpress:latest
ports:
- "80"
restart: always
environment:
WORDPRESS_DB_HOST: db:3306
WORDPRESS_DB_USER: wordpress
WORDPRESS_DB_PASSWORD: wordpress
volumes:
db_data:

#启动
[[email protected] my_wordpress]# docker-compose up
#后台启动 docker-compose up -d
Creating network "my_wordpress_default" with the default driver
Creating volume "my_wordpress_db_data" with default driver
Pulling wordpress (wordpress:latest)...
latest: Pulling from library/wordpress
8d691f585fa8: Already exists
cba12d3fd8b1: Pull complete
cda54d6474c8: Pull complete
412447ed0729: Pull complete
84de6fc539c3: Pull complete
#镜像已经起来了。wordpress:latest 和 mysql:5.7
[[email protected] ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
fe4bd03b54f0 wordpress:latest "docker-entrypoint.s…" About a minute ago Up About a minute 0.0.0.0:32768->80/tcp my_wordpress_wordpress_1
96866c91ece8 mysql:5.7 "docker-entrypoint.s…" About a minute ago Up About a minute 3306/tcp, 33060/tcp my_wordpress_db_1
d3f63deec7e0 progrium/consul "/bin/start -server …" 16 hours ago Up 28 minutes 53/tcp, 53/udp, 8300-8302/tcp, 8400/tcp, 8301-8302/udp, 0.0.0.0:8500->8500/tcp consul
1ec8ce3a4ac4 registry "/entrypoint.sh /etc…" 4 days ago Up 28 minutes 0.0.0.0:5000->5000/tcp goofy_burnell
[[email protected] ~]#

#这个时候网页访问32768端口(映射到容器80端口了)就可以安装wordpress 了
http://192.168.6.129:32768

原文地址:https://www.cnblogs.com/jim-xu/p/11824935.html

时间: 2024-11-06 03:45:19

11:docker-compose(单机版的容器编排工具)的相关文章

docker-compose (单机版的容器编排工具)

类似于ansible剧本 yml 格式 要使用这个编排工具,必须先安装 yum install -y docker-compose cd wordpress/ vi docker-compose.yml ############### version: '3' services: db: image: mysql:5.7 volumes: - /data/db_data:/var/lib/mysql restart: always environment: MYSQL_ROOT_PASSWORD

使用容器编排工具docker swarm安装clickhouse多机集群

1.首先需要安装docker最新版,docker 目前自带swarm容器编排工具 2.选中一台机器作为master,执行命令sudo docker  swarm init [options] 3,再需要加入集群的集群上执行此命令 4.可以使用sudo docker node ls此命令来查询节点数 5编写docker-compose.yaml文件,目前我使用的是version 3版本,version2和3有区别,具体看官网介绍 贴一份完整的docker-compose.yaml供大家参考 ver

Docker系列13:容器编排(1)

一.容器编排基础 1.容器编排概念 可以指定各个容器中的程序是有依赖关系的 比如有个web服务必须在mysql正常的情况下,才能运行,那么这个时候就是web容器是依赖mysql容器的,只有mysql容器正常启动,web容器才能启动. 2.容器编排工具 docker compose k8s k3s 二.compose详解 1.什么是compose Docker Compose 将所管理的容器分为三层,分别是工程(project).服务(service).容器(container) Docker C

Docker - 容器编排工具 compose 之安装

准备 首先,在使用和安装 docker compose之前,我们应该确保我们已经安装了 docker engine. 安装 官网上面有好多种安装方式,由于我们现在是在使用Docker, 个人感觉应该以 docker 的方式思考问题--我们将docker-compose以container的方式安装. 1. 检查本机的compose $ docker-compse --help 由于我们没有安装过,所以提示 “docker-compose” command not found 2. 以容器形式安装

docker高级管理(docker-compose编排工具,consul架构)

本章知识点概括: Docker Compose容器编排构建自动发现的Docker服务架构实现容器服务自动加入Nginx集群 **Docker Compose容器编排功能** Docker compose的前身是Fig,它是一个定义及运行多个docker容器的工具 使用Docker Compose不再需要使用shell脚本来启动容器 Docker Compose非常适合组合是同多个容器进行开发的场景 可以执行多个容器的操作 **Docker Compose容器编排** YAML是一种标记语言很直观

Docker Compose—简化复杂容器应用的利器

Compose是用于定义和运行复杂Docker应用的工具.你可以在一个文件中定义一个多容器的应用,然后使用一条命令来启动你的应用,然后所有相关的操作都会被自动完成. 1. 安装Docker和Compose # 当前最新的Docker是1.6.2,Compose为1.2.0 curl -s https://get.docker.io/ubuntu/ | sudo sh sudo apt-get update sudo apt-get install lxc-docker # 参考http://do

Docker系列14:容器编排(2)

三.容器编排实战 案例1 第一步:创建yml文件 [[email protected] ~]# vim docker-compose.yml version: '3' services: web: image: nginx:latest ports: - "5000:5000" links: - redis redis: image: redis 第二步:启动容器 [[email protected] ~]# docker-compose up -d 第三步:查看通过compose启动

[docker swarm] 从单容器走向负载均衡部署

背景 之前写过<<docker-compose真香>> 和<docker-compose.docker stack前世今生>两篇博客, 回顾一下思路: ① docker-compose是docker引擎之上的容器编排工具,Python语言编写: docker stack 是docker引擎原生支持的容器编排技术(Go语言) ② 两者都支持最近docker-compose.yml 版本3容器编排定义文件,部分指令有差异. 昨天生产环境 .NetCore程序突然爆出错误(1

Docker,Docker Compose,Docker Swarm,Kubernetes之间的区别

最近在学习Docker容器,了解到一些相关的技术,像是Kubernetes,Docker-compose,Docker Swarm,分不清这些东西之间的区别,特意去研究了一下,分享一下,适合刚入门学习容器的同学了解. DcokerDocker 这个东西所扮演的角色,容易理解,它是一个容器引擎,也就是说实际上我们的容器最终是由Docker创建,运行在Docker中,其他相关的容器技术都是以Docker为基础,它是我们使用其他容器技术的核心. Docker-ComposeDocker-Compose