基于Docker容器的web應用系統部署
- 前言
- 一、生成目錄
- 二、Java環境準備
- 三、Mysql環境
- 四、Redis環境
- 五、Zookeeper環境
- 六、Docker-compose
- 七、測驗
前言

一、生成目錄

二、Java環境準備

[root@master java]# cat Dockerfile
FROM 192.168.200.4/library/centos:centos7.5.1804
MAINTAINER Chinaskill
RUN rm -rvf /etc/yum.repos.d/*
ADD ftp.repo /etc/yum.repos.d/
ADD jdk-8u77-linux-x64.tar.gz /opt
ENV JAVA_HOME=/opt/jdk1.8.0_77
ENV JRE_HOME=${JAVA_HOME}/jre
ENV CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
ENV PATH=${JAVA_HOME}/bin:$PATH
ADD gpmall-shopping-0.0.1-SNAPSHOT.jar /opt/
ADD gpmall-user-0.0.1-SNAPSHOT.jar /opt/
ADD shopping-provider-0.0.1-SNAPSHOT.jar /opt/
ADD user-provider-0.0.1-SNAPSHOT.jar /opt/
ADD start.sh /start.sh
RUN chmod +x /start.sh
EXPOSE 8081
EXPOSE 8082
EXPOSE 20880
EXPOSE 20881
EXPOSE 9090
CMD ["bash","/start.sh"]
三、Mysql環境
[root@master mysql]# ll
total 72
-rw-r--r-- 1 root root 381 Apr 7 11:21 Dockerfile
-rw-r--r-- 1 root root 169 Apr 7 11:20 ftp.repo
-rw-r--r-- 1 root root 59239 Dec 30 12:09 gpmall.sql
-rw-r--r-- 1 root root 341 Apr 7 17:12 init.sh
[root@master mysql]# cat Dockerfile
FROM 192.168.200.4/library/centos:centos7.5.1804
MAINTAINER Chinaskill
RUN rm -rvf /etc/yum.repos.d/*
ADD ftp.repo /etc/yum.repos.d/
ADD gpmall.sql /root/
RUN yum install -y mariadb-server
RUN sed -i "13cport = 8066" /etc/my.cnf.d/server.cnf
ADD init.sh /root/init.sh
RUN chmod +x /root/init.sh
RUN /root/init.sh
ENV LC_ALL en_US.UTF-8
EXPOSE 3306
EXPOSE 8066
CMD ["mysqld_safe"]
[root@master mysql]# cat ftp.repo
[k8s]
name=k8s
baseurl=ftp://192.168.200.4/ChinaskillMall/gpmall-repo
gpgcheck=0
enabled=1
[centos]
name=centos
baseurl=ftp://192.168.100.10/centos
gpgcheck=0
enabled=1
四、Redis環境
[root@master redis]# ls
Dockerfile ftp.repo
[root@master redis]# cat Dockerfile
FROM 192.168.200.4/library/centos:centos7.5.1804
MAINTAINER Chinaskill
RUN rm -rvf /etc/yum.repos.d/*
COPY ftp.repo /etc/yum.repos.d/local.repo
RUN yum clean all
RUN yum list
RUN yum -y install redis
RUN sed -i -e 's@bind 127.0.0.1@bind 0.0.0.0@g' /etc/redis.conf
RUN sed -i -e 's@protected-mode yes@protected-mode no@g' /etc/redis.conf
RUN sed -i -e 's@daemonize yes@daemonize no@g' /etc/redis.conf
EXPOSE 6379
#ENTRYPOINT ["/usr/bin/redis-server","/etc/redis.conf"]
ENTRYPOINT redis-server /etc/redis.conf
CMD ["redis-server"]
五、Zookeeper環境
[root@master zookeeper]# ls
Dockerfile ftp.repo zookeeper-3.4.14.tar.gz
[root@master zookeeper]# cat Dockerfile
FROM 192.168.200.4/library/centos:centos7.5.1804
MAINTAINER Chinaskill
RUN rm -rvf /etc/yum.repos.d/*
COPY ftp.repo /etc/yum.repos.d/local.repo
RUN yum -y install java-1.8.0
ADD zookeeper-3.4.14.tar.gz /usr/local
ENV ZOOKEEPER_HOME /usr/local/zookeeper-3.4.14
ENV PATH $PATH:$JAVA_HOME/bin:$JRE_HOME/bin:$ZOOKEEPER_HOME/bin
EXPOSE 2181
EXPOSE 2888
EXPOSE 3888
CMD $ZOOKEEPER_HOME/bin/zkServer.sh start-foreground
六、Docker-compose
[root@master ~]# cd docker-compose/
[root@master docker-compose]# ll
total 4
-rw-r--r-- 1 root root 1454 Apr 7 17:23 docker-compose.yaml
drwxr-xr-x 4 root root 30 Apr 7 11:50 zookeeper1
drwxr-xr-x 4 root root 30 Apr 7 11:50 zookeeper2
drwxr-xr-x 4 root root 30 Apr 7 11:50 zookeeper3
[root@master docker-compose]# cat docker-compose.yaml
version: '2'
services:
zk1.mall:
image: chinaskillmall-zookeeper:v1.1
restart: always
expose:
- 2181
- 2888
- 3888
volumes:
- ./zookeeper1/conf:/usr/local/zookeeper-3.4.14/conf
- ./zookeeper1/data:/data
zk2.mall:
image: chinaskillmall-zookeeper:v1.1
restart: always
expose:
- 2181
- 2888
- 3888
volumes:
- ./zookeeper2/conf:/usr/local/zookeeper-3.4.14/conf
- ./zookeeper2/data:/data
zk3.mall:
image: chinaskillmall-zookeeper:v1.1
restart: always
expose:
- 2181
- 2888
- 3888
volumes:
- ./zookeeper3/conf:/usr/local/zookeeper-3.4.14/conf
- ./zookeeper3/data:/data
kafka1.mall:
image: chinaskillmall-kafka:v1.1
restart: always
expose:
- 9092
links:
- zk1.mall
- zk2.mall
- zk3.mall
redis.mall:
image: chinaskillmall-redis:v1.1
expose:
- 6379
mysql.mall:
image: chinaskillmall-mysql:v1.2
expose:
- 8066
nginx:
image: chinaskillmall-nginx:v1.2
restart: always
ports:
- "85:80"
links:
- jar
jar:
image: chinaskillmall-jar:v1.1
links:
- kafka1.mall
- mysql.mall
- redis.mall
- zk1.mall
- zk2.mall
- zk3.mall
expose:
- 8081
- 8082
- 20880
- 20881
- 9090
七、測驗


完成啦,祝福考試的同學運氣爆棚,省一國一!!!
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/273351.html
標籤:其他
上一篇:Hadoop HDFS 常用Shell命令 | 圖文詳解
下一篇:Vue-Router
