容器化编排部署mall-swarm

 

 欢迎交流+q1989046639

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 3

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

 ---> cf49811e3cdb

Step 2/11 : MAINTAINER Guo

 ---> Using cache

 ---> 612224da592d

Step 3/11 : RUN rm -rf /etc/yum.repos.d/*

 ---> Using cache

 ---> d88b0763dfe4

Step 4/11 : COPY local.repo /etc/yum.repos.d/

 ---> Using cache

 ---> 60047baa075d

Step 5/11 : COPY mall-repo /opt/mall-repo

 ---> Using cache

 ---> ae7f67e9bf08

Step 6/11 : COPY mall.sql /opt/

 ---> Using cache

 ---> c387a39ef1aa

Step 7/11 : COPY init.sh /opt/

 ---> Using cache

 ---> a29b78a53fea

Step 8/11 : ENV LC_ALL en_US.UTF-8

 ---> Using cache

 ---> 19cf25317911

Step 9/11 : RUN yum -y install mariadb-server && bash /opt/init.sh

 ---> Using cache

 ---> 1e8fbec2cc00

Step 10/11 : EXPOSE 3306

 ---> Using cache

 ---> 9c4a6fb7bd6b

Step 11/11 : CMD ["mysqld_safe","--user=root"]

 ---> Using cache

 ---> c689d4e7ea97

Successfully built c689d4e7ea97

Successfully tagged mall-mysql:v1.0

查看镜像列表:

[root@master mall-swarm]# docker images

REPOSITORY       TAG       IMAGE ID         CREATED       SIZE

mall-mysql          v1.0       c689d4e7ea97       58 seconds ago    522MB

2.Redis容器化部署

(1)编写Dockerfile

编写Dockerfile文件:

[root@master mall-swarm]# cat Dockerfile-redis

FROM centos:centos7.5.1804

MAINTAINER Cuo

RUN rm -rf /etc/yum.repos.d/*

COPY local.repo /etc/yum.repos.d/

COPY mall-repo /opt/mall-repo

RUN yum -y install redis

RUN sed -i 's/127.0.0.1/0.0.0.0/g' /etc/redis.conf && \

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

EXPOSE 6379

CMD ["/usr/bin/redis-server","/etc/redis.conf"]

(2)构建镜像

构建镜像:

[root@master mall-swarm]# docker build -t mall-redis:v1.0 -f Dockerfile-redis .

Sending build context to Docker daemon  410.3MB

Step 1/9 : FROM centos:centos7.5.1804

 ---> cf49811e3cdb

Step 2/9 : MAINTAINER Cuo

 ---> Using cache

 ---> dfdbec4d294b

Step 3/9 : RUN rm -rf /etc/yum.repos.d/*

 ---> Using cache

 ---> cade39fa5cbd

Step 4/9 : COPY local.repo /etc/yum.repos.d/

 ---> Using cache

 ---> 83d77407ada3

Step 5/9 : COPY mall-repo /opt/mall-repo

 ---> Using cache

 ---> fa10113c62ac

Step 6/9 : RUN yum -y install redis

 ---> Using cache

 ---> 1b70d0d9faf5

Step 7/9 : RUN sed -i 's/127.0.0.1/0.0.0.0/g' /etc/redis.conf &&     sed -i 's/protected-mode yes/protected-mode no/g' /etc/redis.conf

 ---> Using cache

 ---> f9e69a29089d

Step 8/9 : EXPOSE 6379

 ---> Using cache

 ---> b45b59562c57

Step 9/9 : CMD ["/usr/bin/redis-server","/etc/redis.conf"]

 ---> Using cache

 ---> 44b9fefbf4e2

Successfully built 44b9fefbf4e2

Successfully tagged mall-redis:v1.0

查看镜像列表:

[root@master mall-swarm]# docker images

REPOSITORY         TAG      IMAGE ID        CREATED        SIZE

mall-redis             v1.0      95746fc7acc8      54 seconds ago     338MB

3.RabbitMQ容器化部署

(1)编写Dockerfile

创建RabbitMQ用户脚本

[root@master mall-swarm]# cat rabbitmq-user.sh

#!/bin/bash

## 创建RabbitMQ用户

/usr/lib/rabbitmq/bin/rabbitmq-server -detached

sleep 3

/usr/lib/rabbitmq/bin/rabbitmqctl add_vhost mall

/usr/lib/rabbitmq/bin/rabbitmqctl add_user mall mall

/usr/lib/rabbitmq/bin/rabbitmqctl set_user_tags mall administrator

/usr/lib/rabbitmq/bin/rabbitmqctl set_permissions -p mall mall '.*' '.*' '.*'

/usr/lib/rabbitmq/bin/rabbitmq-plugins enable rabbitmq_management

编写Dockerfile文件:

[root@master mall-swarm]# cat Dockerfile-rabbitmq

FROM centos:centos7.5.1804

MAINTAINER Guo

RUN rm -rf /etc/yum.repos.d/*

COPY local.repo /etc/yum.repos.d/

COPY rabbitmq-user.sh /opt/rabbitmq-user.sh

COPY mall-repo /opt/mall-repo

RUN yum -y install rabbitmq-server

EXPOSE 5672 15672

CMD ["/bin/bash","/opt/rabbitmq-user.sh"]

(2)构建镜像

构建镜像:

[root@master mall-swarm]# docker build -t mall-rabbit:v1.0 -f Dockerfile-rabbitmq .

Sending build context to Docker daemon  410.3MB

Step 1/9 : FROM centos:centos7.5.1804

 ---> cf49811e3cdb

Step 2/9 : MAINTAINER Guo

 ---> Using cache

 ---> 02855371e6e9

Step 3/9 : RUN rm -rf /etc/yum.repos.d/*

 ---> Using cache

 ---> 5f56a1e30007

Step 4/9 : COPY local.repo /etc/yum.repos.d/

 ---> Using cache

 ---> ff9431065417

Step 5/9 : COPY rabbitmq-user.sh /opt/rabbitmq-user.sh

 ---> Using cache

 ---> d3d36333b8df

Step 6/9 : COPY mall-repo /opt/mall-repo

 ---> Using cache

 ---> 0efec0dea187

Step 7/9 : RUN yum -y install rabbitmq-server

 ---> Using cache

 ---> 918e0aea03a2

Step 8/9 : EXPOSE 5672 15672

 ---> Using cache

 ---> b796230efa8d

Step 9/9 : CMD ["/bin/bash","/opt/rabbitmq-user.sh"]

 ---> Using cache

 ---> 67d8b40d90ad

Successfully built 67d8b40d90ad

Successfully tagged mall-rabbit:v1.0

查看镜像列表:

[root@master mall-swarm]# docker images

REPOSITORY          TAG         IMAGE ID      CREATED       SIZE

mall-rabbit              v1.0        67d8b40d90ad    3 minutes ago     374MB

猜你喜欢

转载自blog.csdn.net/Pierreze/article/details/122286603