文档章节

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

© 著作权归作者所有

共有 人打赏支持
戴的天
粉丝 17
博文 63
码字总数 83564
作品 0
杭州
技术主管
私信 提问
Docker环境准备

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

王斌_
2016/09/04
4
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
阿里的分布式持续集成系统-reliable

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

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

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

Oo若离oO
2017/12/19
0
0
企业级私有镜像仓库Harbor

Harbor是vmware开源的一个私有镜像仓库软件,其提供了一个网页管理界面。 Harbor的安装需要先安装docker,docker-compose Docker安装: docker安装官方文档:https://docs.docker.com/insta...

Vaedit
08/15
0
0

没有更多内容

加载失败,请刷新页面

加载更多

java8之stream流的基本操作

一、stream流简介 Stream流是数据渠道,用于操作数据源(集合、数组等)所生成的元素序列。 Stream的优点:声明性,可复合,可并行。这三个特性使得stream操作更简洁,更灵活,更高效。 Stre...

嘴角轻扬30
25分钟前
1
0
Docker 可视化管理工具 Panama

Panamax 是一个开源的项目,可以通过简单的拖拉操作就可以实现发布复杂的 Docker 容器应用。Panamax 为 Docker, Fleet & CoreOS 提供友好的管理界面。 容器技术是下一代的虚拟机,但使用该技...

linuxprobe16
26分钟前
2
0
scala中hdfs文件的操作

对于org.apache.hadoop.fs.Path来说, path.getName只是文件名,不包括路径 path.getParent也只是父文件的文件名,同样不包括路径 path.toString才是文件的全路径名 创建文件 hdfs.createNew...

hblt-j
41分钟前
2
0
Eureka 和 zookeeper 的比较

小小小施爷
50分钟前
0
0
c++ 开源算法库 (持续更新)

最近在做算法方面的研究,发现很难找到一个全面而优质的科学计算算法库。不过还是找到一些,在此记录一下,将来也许自己写一个把所有这些整合在一起。本列表会持续不定期更新。 GSL http://w...

propagator
今天
6
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部