文档章节

CenOS 7.1安装Docker、Docker-compose

chris_2009
 chris_2009
发布于 2016/04/19 13:56
字数 518
阅读 599
收藏 3

关闭centos7自带的firewall防火墙

关闭firewall

systemctl stop firewalld.service #停止firewall
systemctl disable firewalld.service #禁止firewall开机启动

安装iptables防火墙

yum install iptables-services #安装
systemctl restart iptables.service #最后重启防火墙使配置生效
systemctl enable iptables.service #设置防火墙开机启动

安装docker

yum install docker-io

安装docker-compose

最新版本(2016-04-19)
curl -L https://github.com/docker/compose/releases/download/1.7.0/docker-compose-`uname -s-uname -m` > /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose

docker-compose template文件:docker-compose.yml

#简单的web服务器,可以用 docker-compose scale web=n命令扩展到n个实例
web:
  image: yeasy/simple-web:latest
  environment:
    SERVICE_80_NAME: http
    SERVICE_NAME: web
    SERVICE_TAGS: backend
  ports:
  - "80"
#ngnix负载均衡,使用consul-template自动加载配置
lb:
  image: yeasy/nginx-consul-template:latest
  hostname: lb
  links:
  - consulserver:consul
  ports:
  - "80:80"
 #consul服务端,可以方便管理docker container
consulserver:
  image: gliderlabs/consul-server:latest
  hostname: consulserver
  ports:
  - "8300"
  - "8400"
  - "8500:8500"
  - "53"
  command: -data-dir /tmp/consul -bootstrap -client 0.0.0.0
#监听本地的docker sock,并将web服务器的container注册到consul服务端
#listen on local docker sock to register the container with public ports to the consul service
registrator:
  image: gliderlabs/registrator:master
  hostname: registrator
  links:
  - consulserver:consul
  volumes:
  - "/var/run/docker.sock:/tmp/docker.sock"
  command: -internal consul://consul:8500

使用docker-compose启动

docker-compose up #在docker-compose.yml所在的目录下
日志实例:

#consulserver_1是consul的服务端日志
#lb_1是ngnix的日志
[root@localhost docker-compose]# docker-compose up
Recreating dockercompose_web_1...
Recreating dockercompose_consulserver_1...
Recreating dockercompose_lb_1...
Recreating dockercompose_registrator_1...
Attaching to dockercompose_web_1, dockercompose_consulserver_1, dockercompose_lb_1
consulserver_1 | ==> Failed to check for updates: Get https://checkpoint-api.hashicorp.com/v1/check/consul?arch=amd64&os=linux&signature=990d4634-bb34-ccad-b5fb-b1a4bfd1f4e9&version=0.6.3: dial tcp: lookup checkpoint-api.hashicorp.com on 202.96.128.86:53: read udp 172.17.0.2:36822->202.96.128.86:53: i/o timeout
lb_1           | 2016/04/19 05:20:56 [error] 18#0: *1 connect() failed (111: Connection refused) while connecting to upstream, client: 192.168.17.116, server: , request: "GET / HTTP/1.1", upstream: "http://127.0.0.1:65535/", host: "192.168.17.160"
lb_1           | 192.168.17.116 - - [19/Apr/2016:05:20:56 +0000] "GET / HTTP/1.1" 502 575 "-" "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2623.110 Safari/537.36" "-"

web容器扩容

docker-compose scale web=3#扩展到3个实例

[root@localhost docker-compose]# docker-compose scale web=3
Creating dockercompose_web_2...
Creating dockercompose_web_3...
Starting dockercompose_web_2...
Starting dockercompose_web_3...

连接docker container(借助nsenter)

[root@localhost ~]# docker inspect --format "{{.State.Pid}}" dockercompose_web_1
3488
[root@localhost ~]# nsenter --target 3488 --mount --ipc --uts --net --pid
root@0b1e4a76e802:/# ps      
  PID TTY          TIME CMD
   59 ?        00: 00:00 bash
   63 ?        00: 00:00 ps
root@0b1e4a76e802:/#

© 著作权归作者所有

chris_2009
粉丝 3
博文 10
码字总数 8066
作品 0
深圳
高级程序员
私信 提问
WordPress 命令行工具 - EasyEngine

EasyEngine 是为 Nginx 设计的一个命令行工具。用于管理运行在 Nignx、PHP、MySQL、Let's Encrypt 之上的 WordPress 网站。 快速开始: # Install EasyEngine on Linuxwget -qO ee rt.cx/ee4......

匿名
2018/12/17
499
0
基于Docker构建PHP开发环境

Docker-PHP(https://github.com/huangyanxiong01/docker-php) Features Customize the configuration file Data is stored in the host - Software Stack [x] MongoDB [x] Redis [x] MySQL [......

huangyanxiong
2016/12/20
156
0
hyperledger v1.0.5 区块链运维入门

摘要 你网上搜索hyperledger大部分文章是讲解开发环境的安装与配置,没有一篇关于怎样运维区块链的文章。当你配置好开发环境,写好合约,怎样落地呢?却很少文章提及。 要将区块链落地,我们...

雪花又一年
2018/04/18
0
0
在 ubuntu 搭建需要签名认证的私有 docker registry 仓库

前言 在前面的一篇博客《在 ubuntu 搭建 docker registry 私有仓库》介绍了一种简单的搭建 docker 私有仓库了的方法。但是当时使用的是修改“--insecure-registry”参数的办法,这种办法在局...

hello_cjq
2018/02/23
0
0
快速搭建一个Fabric 1.0的环境

之前笔者写了一篇Fabric1.0 Beta的部署和Fabric 1.0的多机部署。但是很多人在部署Fabric的时候还是很容易出问题,所以我就再把Fabric 1.0的单机环境搭建讲一下。其实很多内容和前面博客相同。...

深蓝居
2017/08/27
0
0

没有更多内容

加载失败,请刷新页面

加载更多

SpringBoot中 集成 redisTemplate 对 Redis 的操作(二)

SpringBoot中 集成 redisTemplate 对 Redis 的操作(二) List 类型的操作 1、 向列表左侧添加数据 Long leftPush = redisTemplate.opsForList().leftPush("name", name); 2、 向列表右......

TcWong
今天
3
0
排序––快速排序(二)

根据排序––快速排序(一)的描述,现准备写一个快速排序的主体框架: 1、首先需要设置一个枢轴元素即setPivot(int i); 2、然后需要与枢轴元素进行比较即int comparePivot(int j); 3、最后...

FAT_mt
昨天
4
0
mysql概览

学习知识,首先要有一个总体的认识。以下为mysql概览 1-架构图 2-Detail csdn |简书 | 头条 | SegmentFault 思否 | 掘金 | 开源中国 |

程序员深夜写bug
昨天
10
0
golang微服务框架go-micro 入门笔记2.2 micro工具之微应用利器micro web

micro web micro 功能非常强大,本文将详细阐述micro web 命令行的功能 阅读本文前你可能需要进行如下知识储备 golang分布式微服务框架go-micro 入门笔记1:搭建go-micro环境, golang微服务框架...

非正式解决方案
昨天
7
0
前端——使用base64编码在页面嵌入图片

因为页面中插入一个图片都要写明图片的路径——相对路径或者绝对路径。而除了具体的网站图片的图片地址,如果是在自己电脑文件夹里的图片,当我们的HTML文件在别人电脑上打开的时候图片则由于...

被毒打的程序猿
昨天
9
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部