文档章节

Centos上安装Docker管理器Docker Compose

戴的天
 戴的天
发布于 2017/02/15 13:57
字数 816
阅读 8
收藏 0

参照官方文档,进行了简单理解并照其所说进行了centos上的部署。 #1 前提# ##1.1 系统要求## 64位的CentOS 7 ##1.2 移除非官方的docker包##

sudo yum -y remove docker docker-common container-selinux

避免与官方的docker-engine冲突,所以同样的移除docker-selinux

sudo yum -y remove docker-selinux

#2 安装Docker# ##2.1 用repo安装## ###2.2.1 安装yum-utils### yum-utils提供了yum-config-manager组件。

sudo yum install -y yum-utils

###2.2.2 获取稳定版repo###

sudo yum-config-manager \
    --add-repo \
    https://download.docker.com/linux/centos/docker-ce.repo

###2.2.3 配置testing仓库(可选)###

sudo yum-config-manager --enable docker-testing

也可以用--disable来关闭

sudo yum-config-manager --disable docker-testing

##2.2 安装Docker## ###2.2.1 更新yum资源索引###

sudo yum makecache fast

###2.2.2 安装Docker### 安装最新版Docker

sudo yum -y install docker-ce

或者用下列命令安装之前版本的docker

yum list docker-engine.x86_64  --showduplicates |sort -r

根据常看的版本信息,用下面命令来指定版本

 sudo yum -y install docker-engine-<VERSION_STRING>

###2.2.3 启动Docker###

sudo systemctl start docker

###2.2.4 确认完成###

sudo docker run hello-world

这里用hello-world项目来验证完成,如果出现下面信息则成功:

Hello from Docker!
This message shows that your installation appears to be working correctly.

To generate this message, Docker took the following steps:
 1. The Docker client contacted the Docker daemon.
 2. The Docker daemon pulled the "hello-world" image from the Docker Hub.
 3. The Docker daemon created a new container from that image which runs the
    executable that produces the output you are currently reading.
 4. The Docker daemon streamed that output to the Docker client, which sent it
    to your terminal.

To try something more ambitious, you can run an Ubuntu container with:
 $ docker run -it ubuntu bash

Share images, automate workflows, and more with a free Docker ID:
 https://cloud.docker.com/

For more examples and ideas, visit:
 https://docs.docker.com/engine/userguide/

#3 安装Docker Compose# Docker工具箱同时提供了Engine和Compose,不过本人所用CentOS 7,所以就继续下面流程: ##3.1 下载Docker Compose## 使用curl下载compose,并赋予可执行权限:

curl -L https://github.com/docker/compose/releases/download/1.11.1/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose

也可以用python pip来安装:

pip install -U docker-compose

##3.2 测试##

docker-compose --version

#3 Docker Compose使用# ##3.1 编写项目代码## 1.先创建一个目录,作为项目目录。

mkdir composetest
cd composetest

2.创建app.py:

from flask import Flask
from redis import Redis

app = Flask(__name__)
redis = Redis(host='redis', port=6379)

@app.route('/')
def hello():
    count = redis.incr('hits')
    return 'Hello World! I have been seen {} times.\n'.format(count)

if __name__ == "__main__":
    app.run(host="0.0.0.0", debug=True)

3.再创建一个叫做requirements.txt的文件,内容如下:

flask
redis

##3.2 编写Dockerfile##

FROM python:3.4-alpine
ADD . /code
WORKDIR /code
RUN pip install -r requirements.txt
CMD ["python", "app.py"]

##3.3 编写Compose配置文件## 在当前目录下创建docker-compose.yml,内容如下:

version: '2'
services:
  web:
    build: .
    ports:
     - "5000:5000"
    volumes:
     - .:/code
  redis:
    image: "redis:alpine"

##3.4 启动Docker Compose## 在项目目录下,用下面命令启动Docker Compose:

docker-compose up

然后就可以用浏览器访问 http://localhost:5000 来查看了,出现下面信息即为成功。

Hello World! I have been seen 1 times.

##3.5 更新应用## 修改app.py,将返回修改为:

return 'Hello from Docker! I have been seen {} times.\n'.format(count)

刷新浏览器,即可看到

Hello from Docker! I have been seen 2 times.

##3.6 Docker Compose其他命令## 1.后台运行

docker-compose up -d

2.列举后台已启动容器

docker-compose ps

3.启动已关闭的服务

docker-compose run web env

4.关闭启动的服务

docker-compose stop 

5.彻底关闭服务并移除容器,--volumes 清理Redis容器产生的数据量

docker-compose down --volumes

© 著作权归作者所有

共有 人打赏支持
戴的天
粉丝 16
博文 63
码字总数 83564
作品 0
杭州
技术主管
CenOS 7.1安装Docker、Docker-compose

关闭centos7自带的firewall防火墙 关闭firewall systemctl stop firewalld.service #停止firewall systemctl disable firewalld.service #禁止firewall开机启动 安装iptables防火墙 yum inst......

chris_2009
2016/04/19
437
0
Docker环境准备

基础环境 Centos7+git 确认git忽略ssl证书校验 添加第三方源 只追加大型第三方源 EPEL 源 升级系统 升级的Centos7.2 docker环境 安装docker并设置为开机自动启动 利用国内的daocloud.io为doc...

王斌_
2016/09/04
4
0
阿里的分布式持续集成系统-reliable

CI,Continuous Integration,持续集成,是一种软件开发实践,即团队开发成员经常集成它们的工作,通过每个成员每天至少集成一次,也就意味着每天可能会发生多次集成。每次集成都通过自动化的...

开源中国刘德华
2016/03/29
269
0
Docker在CentOS 7 环境下的安装及基本操作入门

Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不...

Oo若离oO
2017/12/19
0
0
Docker镜像仓库Harbor实践

1,环境安装的软件及版本: linux : version centos7.3 Docker:version 1.12.6 Docker-compose: version 1.13.0 Harbor: version 1.1.2 Harbor是基于docker registry V2版本,所以要求doc......

super李导
2017/12/16
0
0

没有更多内容

加载失败,请刷新页面

加载更多

一次由HandlerInterceptor进行的深入思考

HandlerInterceptor 是SpringFramework为我们提供的拦截器,一般我们可以用来鉴权或者日志记录等。 它是一个interface,主要方法有: /** * Intercept the execution of a handler. Called...

kipeng300
29分钟前
1
0
cmd中查询mysql表出现中文乱码

问题:在pycharm中正常的fetchall拉取数据,能够正常显示,而在cmd中直接select却出现中文乱码。 解决思路:右键查看cmd命令窗口属性得到,cmd窗口默认编码是gbk(如下图所示),而设置的mys...

fang_faye
55分钟前
2
0
centOS 安装Python3与python2并存

centOS 安装Python3与python2并存 如果本机安装了python2,尽量不要管他,使用python3运行python脚本就好,因为可能有程序依赖目前的python2环境, 比如yum!!!!! 不要动现有的python2环...

MedivhXu
今天
2
0
Spring JdbcTemplate模板模式与回调结合分析

在看Spring的JdbcTemplate的时候,看到其将模板模式和回调模式结合使用的实现,可以精妙的解决很多的问题。详见Spring中涉及的设计模式总结中的关于模板模式和回调模式结合的具分析,本文利用...

宸明
今天
1
0
docker update:更新一个或多个容器的配置

更新容器的配置 docker update:更新一个或多个容器的配置。 具体内容请访问:https://docs.docker.com/engine/reference/commandline/update/#options 语法:docker update [OPTIONS] CONTA...

lwenhao
今天
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部