mall商城之基础服务部署-1

本文档详细介绍了如何使用Docker和docker-compose部署mall商城的基础服务,包括下载源码、部署docker、编写docker-compose.yml文件以及部署基础服务如elasticsearch、nginx、Logstash、mysql、rabbitmq等。此外,还提供了Portainer作为可视化管理工具的使用指南。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、服务器规划


服务器IP 端口 服务 用途
192.168.4.114
6443 k8s-master k8s管理端
192.168.4.114
192.168.4.115
192.168.4.118
8080 admin 商城后台服务
8401 atuh 认证中心
8101 monitor 监控中心
8085 portalk 商城前台服务
8081 search 商城后台搜索
8201 gateway 微服务网关
192.168.4.119
80 nginx 前端发展
3306 mysql 数据库
6379 redis 数据库
27017 nogodb 数据库
9200 es ELK
8000 portainer 容器可视化
5672 rabbitmq 消息队列
8848 nacos 注册中心
192.168.4.120
2376 mvn 镜像构建https端口
443 harbor 镜像仓库

二、镜像打包及推送

1)下载源码
cd /opt/
wget -c https://github.com/macrozheng/mall-swarm/archive/refs/tags/v1.0.2.zip
yum install unzip -y 
unzip  mall-swarm-1.0.2.zip
2)部署docker
yum -y remove docker \
                  docker-client \
                  docker-client-latest \
                  docker-common \
                  docker-latest \
                  docker-latest-logrotate \
                  docker-logrotate \
                  docker-selinux \
                  docker-engine-selinux \
                  docker-ce-cli \
                  docker-engine


#查看还有没有存在的docker组件
#rpm -qa|grep docker
#有则通过命令 yum -y remove XXX 来删除,比如:
#yum remove docker-ce-cli

#获取docker-ce的yum源
yum  -y install wget 
wget -O /etc/yum.repos.d/docker-ce.repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo 

#获取epel源
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo 
yum -y install epel-release

#显示docker-ce所有可安装版本:
#yum list docker-ce --showduplicates | sort -r
#安装指定docker版本
sudo yum install docker-ce-18.06.3.ce-3.el7 -y

#启动docker并设置docker开机启动
systemctl enable docker
systemctl start docker
docker ps 
#确认镜像目录是否改变
docker info |grep "Docker Root Dir"

#创建镜像加速

cat >>/etc/docker/daemon.json <<EOF
{
  "registry-mirrors": ["https://almtd3fa.mirror.aliyuncs.com"]
}
EOF
#重启docker
service docker restart
3)docker-compose说明
1、部署docker-compose
#下载Docker Compose
curl -L https://get.daocloud.io/docker/compose/releases/download/1.24.0/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose

#修改该文件的权限为可执行
chmod +x /usr/local/bin/docker-compose

#查看是否已经安装成功
docker-compose --version
  • 使用Dockerfile定义应用程序环境,一般需要修改初始镜像行为时才需要使用;
  • 使用docker-compose.yml定义需要部署的应用程序服务,以便执行脚本一次性部署;
  • 使用docker-compose up命令将所有应用服务一次性部署起来。
2、docker-compose.yml常用命令

images

  • 指定运行的镜像名称
# 运行的是mysql5.7的镜像
    image: mysql:5.7

container_name

  • 配置容器名称
# 容器名称为mysql
    container_name: mysql

ports

  • 指定宿主机和容器的端口映射(HOST:CONTAINER)
# 将宿主机的3306端口映射到容器的3306端口
    ports:
      - 3306:3306

volumes

  • 将宿主机的文件或目录挂载到容器中(HOST:CONTAINER)
# 将外部文件挂载到myql容器中
    volumes:
      - /mydata/mysql/log:/var/log/mysql
      - /mydata/mysql/data:/var/lib/mysql
      - /mydata/mysql/conf:/etc/mysql

environment

  • 配置环境变量
# 设置mysqlroot帐号密码的环境变量
    environment:
      - MYSQL_ROOT_PASSWORD=root

links

  • 连接其他容器的服务(SERVICE:ALIAS)
# 可以以database为域名访问服务名称为db的容器
    links:
      - db:database
3、Docker Compose常用命令
  • 构建、创建、启动相关容器:
# -d表示在后台运行
docker-compose up -d

##停止所有相关容器:
docker-compose stop

#列出所有容器信息:
docker-compose ps
4、编写docker-compose.yml文件

Docker Compose将所管理的容器分为三层,工程、服务及容器。docker-compose.yml中定义所有服务组成了一个工程,services节点下即为服务,服务之下为容器。容器与容器直之间可以以服务名称为域名进行访问,比如在mall-tiny-docker-compose服务中可以通过jdbc:mysql://db:3306这个地址来访问db这个mysql服务。

#实例说明
2.	version: '3'
3.	services:
4.	  # 指定服务名称
5.	  db:
6.	    # 指定服务使用的镜像
7.	    image: mysql:5.7
8.	    # 指定容器名称
9.	    container_name: mysql
10.	    # 指定服务运行的端口
11.	    ports:
12.	      - 3306:3306
13.	    # 指定容器中需要挂载的文件
14.	    volumes:
15.	      - /mydata/mysql/log:/var/
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

烟雨话浮生

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值