文档章节

CenOS 7.1安装Docker、Docker-compose

chris_2009
 chris_2009
发布于 2016/04/19 13:56
字数 518
阅读 612
收藏 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
522
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
封装了 Nginx+php7-fpm 的 Dockerfile 仓库--docker-lnp

docker-lnp 是一个封装了 Nginx+php7-fpm 以及多数常用的 php 扩展的 Dockerfile 仓库,旨在快速构建基于 Docker 的 LNMP 环境! 特性: 1,自定义 Nginx, PHP-FPM, PHP 相关配置文件,完全定...

Koma
2017/10/23
595
0

没有更多内容

加载失败,请刷新页面

加载更多

golang 不同mysql 连接库对比

待续

caucy
9分钟前
1
0
PHP JsonWebToken的实现

废话不多说,上码(thinkphp环境) <?phpnamespace app\index\controller;class Jwt{ /** * @var array jwt头部 */ private static $header = [ //生成signatu......

yehua11
13分钟前
2
0
gitlab docker Web界面打开反应迟钝的解决办法

参考:https://blog.csdn.net/happyfreeangel/article/details/88653846 解决办法: 修改gitlab的配置文件:gitlab.rb 位置在容器中的/etc/gitlab/config 使用容器时必须挂载到外面的存储,要...

bapleliu
13分钟前
1
0
AJAX 请求 浏览器F12 看不到返回值

最近在某某高校上线AA系统之后对于某一个接口,有的时候可以界面可以正常渲染并展示正确的数据,偶尔不行。 前端开发人员打开浏览F12,指着屏幕说,AJAX请求了没有返回呀,这个要后端看看到底...

特拉仔
19分钟前
1
0
好程序员Java学习路线分享JVM类加载机制

好程序员Jav学习路线分享JVM类加载机制JVM相关概念 - jdk<br> jdk(Java Development Kit)Java开发包,是Java开发人员用于编译和调试程序的一套程序的集合。 - jre<br> jre(Java Runtime ...

好程序员官方
22分钟前
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部