收藏文章 楼主

项目六 多容器应用栈部署

版块:linux   类型:普通   作者:小绿叶技术博客   查看:1819   回复:0   获赞:2   时间:2019-06-27 08:29:09

项目六:多容器应用栈部署

操作过程   环境:centos7、4G内存、2核cpu、一个NAT网卡

1、配置yum (centos7 pass2.2)


2、基础环境配置(iptables selinux)


3、安装docker 


4、安装此项目所需要的工具。

 yum install git wget 工具


5、构建node.js镜像 


wget https://raw.githubusercontent.com/jamtur01/dockerbook-code/master/code/6/node/nodejs/nodeapp/package.json


wget https://raw.githubusercontent.com/jamtur01/dockerbook-code/master/code/6/node/nodejs/nodeapp/server.js


说明:server.js 启动 express应用将会话信息保存在redis,然后使用json格式来返回状态信息,通过网页显示出来。


6、使用Dokcerfile 构建nodejs镜像

Dockerfile文件内容如下:

FROM centos:latest

RUN yum -y install epel-release

RUN yum -y update ; yum clean all

RUN yum install -y nodejs make gcc+ gcc-c++

RUN mkdir -p /var/log/nodeapp

ADD nodeapp /opt/nodeapp/

WORKDIR /opt/nodeapp/

RUN npm install

VOLUME [ "/var/log/nodeapp"  ]

EXPOSE 3000

ENTRYPOINT [ "node" , " server.js  "  ]


 

使用docker build -t test/nodejs . 开始构建镜像



7、构建一个redis的基础镜像

Dockerfile文件内容如下:

FROM centos:latest

RUN yum -y install epel-release

RUN yum -y update;yum clean all

RUN yum -y install redis 

RUN sed -i " s/bind 127.0.0.1/bind 0.0.0.0/g" /etc/redis.conf

RUN sed -i " s/protected-mode yes/protected-mode no/g " /etc/redis.conf    

VOLUME [ "/var/lib/redis"," /var/log/redis   "   ]

EXPOSE 6379


使用 docker build -t test/redis . 开始构建镜像



8、使用刚刚的redis基础镜像构建redis主镜像

Dockerfile文件内容如下:

FROM test/redis

ENTRYPOINT [  "redis-server","--protected-mode  no  " " --logfile /var/log/redis/redis-server.log"  ]


使用 docker build -t test/redis_replica . 开始构建镜像


9、开启redis主容器

docker run -d -h redis_primary --name redis_primary test/redis_primary:latest 


10、检查容器运行状况

docker run -it --rm --volumes-from redis_primary centos cat /var/log/redis/redis-server.log


11、开启redis 从容器

 docker run -d -h redis_replica --name redis_replica --link redis_primary:redis_primary test/redis_replica 


12、检查容器运行状况

docker run -it --rm --volumes-from redis_replica centos cat /var/log/redis/redis-replica.log


13、启动nodejs容器

docker run -d -h nodeapp -p 3000:3000 --link redis_primary:redis_primary test/nodejs 


14、通过浏览器查看服务

ip:3000 

提供企业建站服务,免费网防系统,提交信息登录 http://yundun.ddoss.cn 邮箱: proposal@ddoss.cn 
回复列表
默认   热门   正序   倒序

回复:项目六 多容器应用栈部署

头像

用户名:

粉丝数:

签名:

资料 关注 好友 消息