2020技能大賽改革賽雲計算賽項 先電2.4 paas 容器部分記錄

1.部分

(1)任務1  Docker CE及私有倉庫安裝任務(5分)

1.在master、node1、node2、cicd-node各節點中分別安裝DockerCE和docker-compose。(1分)

懶得寫

2.在cicd-node節點安裝Registry私有倉庫,導入/opt/containerk8s/docker/images目錄下所有鏡像,並推送到Registry私有倉庫。

懶得寫

3.在node1節點上從倉庫中拉取mysql:latest和wordpress:latest鏡像,創建/root/wproject/docker-compse.yaml文件,編排部署wordpress,並設置 restart策略。

version: '2'
services:
  mysql:
    image: mysql:5.6
    expose:
      - "3306"
    restart: always
    environment:
      - MYSQL_ROOT_PASSWORD=123456
  wordpress:
    image: wordpress:latest
    ports:
      - "82:80"
    restart: always
    environment:
      - WORDPRESS_DB_HOST=mysql
      - WORDPRESS_DB_USER=root
      - WORDPRESS_DB_PASSWORD=123456

4.在node1節點上停止並刪除上述部署的wordpress容器。

[root@localhost 2020config]# docker-compose -f docker-compose.yml up -d
Creating network "2020config_default" with the default driver
Creating 2020config_mysql_1     ... done
Creating 2020config_wordpress_1 ... Done



[root@localhost 2020config]# docker-compose -f docker-compose.yml down
Stopping 2020config_wordpress_1 ... done
Stopping 2020config_mysql_1     ... done
Removing 2020config_wordpress_1 ... done
Removing 2020config_mysql_1     ... done
Removing network 2020config_default

 

(2)任務2  基於容器的web應用系統部署任務(10分)

將該公司開發的基於微服務架構的web應用系統Chinaskillmall實現全容器化部署(web應用系統Chinaskillmall容器化所需要的所有軟件包在/opt/containerk8s/ Chinaskillmall目錄下)。Chinaskillmall應用系統架構圖如下:

模塊

使用技術

備註

chinaskillmall.sql

Mysql

網站的數據庫

dest目錄

Nginx

網站的前端項目

chinaskillmall -shopping

web項目

8081端口,商品/購物車/首頁渲染等交互

chinaskillmall -user

8082端口,提供用戶相關的交互,如登錄、註冊、個人中心等

user-provider

後端服務

提供用戶相關服務

shopping-provider

提供購物車、推薦商品、商品等服務

請將mysql數據庫組件、redis組件和Zookeeper組件按照要求進行容器化,其他組件已經實現容器化,直接從倉庫中拉取鏡像運行容器即可(Chinaskillmall-Kafka:v1.1、Chinaskillmall-nginx:v1.1、Chinaskillmall-jar:v1.1):
1.編寫Dockerfile製作數據庫MySQL鏡像,生成鏡像名爲Chinaskillmall-mysql:v1.1,並推送其到私有倉庫。具體要求如下: 
(1)基於centos基礎鏡像;
(2)指定作者爲Chinaskill;
(3)安裝mariadb數據庫,並使用root用戶進行數據庫初始化;設置數據庫支持UTF-8編碼;設定root用戶的密碼爲123456,並給root用戶賦予遠程訪問的權限;
(4)創建數據庫Chinaskillmall並使用Chinaskillmall數據庫,導入Chinaskillmalldb.sql;
(5)開放3306端口;
(6)設置服務自啓動。

dockerfile 如下  --單純實現功能 沒有刻意去處理layer和cache 有要求自己優化 懶得搞我

FROM centos:7.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
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
CMD ["mysqld_safe"]
2.編寫Dockerfile製作Redis鏡像,生成鏡像名爲Chinaskillmall-Redis:v1.1,並推送到私有倉庫。具體要求如下: 
(1)基於centos基礎鏡像; 
(2)指定作者爲Chinaskill;
(3)安裝Redis服務,暴露6379端口;
(4)設置服務自啓動。

dockerfile如下 需要優化自己搞 僅供參考

FROM centos:7.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"]

 

3.編寫Dockerfile製作Zookeeper鏡像,生成鏡像名爲Chinaskillmall-Zookeeper:v1.1,並推送到私有倉庫。具體要求如下: 
(1)基於centos基礎鏡像; 
(2)指定作者爲Chinaskill;
(3)安裝Zookeeper服務,暴露2181端口;
(4)設置服務自啓動。

下次整理

 

4.創建/root/Chinaskillmallproject/docker-compose.yaml文件,使用上述鏡像編排部署Chinaskillmall應用系統。 

下次寫 這部分 設計 kafka zk 集羣問題 

這個gpmall 容器化的  一共6個 images  其他的懶得寫了很簡單 ---- zk kafka redis mariadb jar(四個jar包 需注意啓動依賴順序 這裏不多說) nginx(注意負載文件的寫入就行了)

 

cicd的東西 換一個文章寫點  

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章