容器化编排部署mall-swarm
1.1容器化部署mall-swarm商城
1.1.1 案例目标
(1)了解Mariadb服务的容器化部署。
(1)了解Redis服务的容器化部署。
(2)了解RabbitMQ服务的容器化部署。
(3)了解Nacos服务的容器化部署。
1.1.2 案例分析
1.规划节点
节点规划,见表1-1-1。
表1-1-1节点规划
IP |
主机名 |
节点 |
10.24.2.156 |
master |
docker-compose节点 |
2.基础准备
Docker和Docker Compose已安装完成,将提供的软件包mall-swarm.tar.gz上传至master节点/root目录下并解压。
1.1.3 案例实施
1.Mariadb容器化部署
(1)编写Dockerfile
编写yum文件
[root@master ~]# cd mall-swarm
[root@master mall-swarm]# cat local.repo
[mall]
name=mall
baseurl=file:///opt/mall-repo
gpgcheck=0
enabled=1
编写初始化脚本init.sh:
[root@master mall-swarm]# cat init.sh
#!/bin/bash
mysql_install_db --user=root
mysqld_safe --user=root &
sleep 8
mysqladmin -u root password 'root'
mysql -uroot -proot -e "grant all on *.* to 'reader'@'%' identified by '123456'; flush privileges;"
mysql -uroot -proot -e "create database mall; use mall; source /opt/mall.sql;"
编写Dockerfile文件:
[root@master mall-swarm]# cat Dockerfile-mariadb
FROM centos:centos7.5.1804
MAINTAINER Guo
RUN rm -rf /etc/yum.repos.d/*
COPY local.repo /etc/yum.repos.d/
COPY mall-repo /opt/mall-repo
COPY mall.sql /opt/
COPY init.sh /opt/
ENV LC_ALL en_US.UTF-8
RUN yum -y install mariadb-server && bash /opt/init.sh
EXPOSE 3306
CMD ["mysqld_safe","--user=root"]
(2)构建镜像
构建镜像:
[root@master mall-swarm]# docker build -t mall-mysql:v1.0 -f Dockerfile-mariadb .
Sending build context to Docker daemon 410.3MB
Step 1/11 : FROM centos:centos7.5.1804
--->