开源电商erp系统启航电商ERP系统centos Docker部署

一、部署Docker

Docker安装

1、更新系统

yum update

2、安装依赖

sudo yum install -y yum-utils device-mapper-persistent-data lvm2

3、添加 Docker YUM 软件源

sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

4、安装 Docker

sudo yum install docker-ce docker-ce-cli containerd.io

5、启动 Docker 服务

systemctl status docker
systemctl start docker
systemctl enable docker

6、验证安装

docker --version

Docker常用命令

  • 查看已安装镜像

    docker images

  • 下载镜像

    docker pull tomcat:8.5.84[镜像名:版本号]

  • 运行镜像

    docker run -d redis其中-d表示在后台运行

  • 删除镜像、

docker rmi cfb42a7627ea

  • 查看正在运行的容器

    docker ps

  • 查看所有的容器

    docker ps -a

  • 进入容器

    docker exec -it 2c66a2604c61 bash

  • 停止容器

    docker stop e20d261fc976

  • 开启容器

    docker start e20d261fc976

  • 删除容器

    docker rm [ID]

  • 搜索镜像

    docker search <keyword>

二、环境配置

2.1 MySQL

  • 拉取MySQL镜像

    docker pull mysql

  • 运行 MySQL 容器

    docker run --name my-mysql -e MYSQL_ROOT_PASSWORD=Qihangec@168* -d -p 3307:3306 mysql

    • --name my-mysql:为容器指定一个名称。
    • -e MYSQL_ROOT_PASSWORD=Qihangec@168*:设置 MySQL 的 root 用户密码。
    • -d:在后台模式下运行容器。
    • -p 3307:3306:将主机的3307端口映射到容器的3306端口。
  • 连接到 MySQL 容器

    docker exec -it my-mysql bash

  • 进入 MySQL 命令行

    mysql -uroot -p

    • 修改远程访问密码

      ALTER USER 'root'@'%' IDENTIFIED BY 'Qihangec@168*';

      flush privileges;

2.2 Redis

  • 拉取 Redis 镜像

    docker pull redis

  • 运行 Redis 容器

    docker run -d -p 6378:6379 --name my-redis redis

2.3 Nacos

  • 拉取Nacos镜像

    docker pull nacos/nacos-server

  • 运行 Nacos 容器

    docker run --name nacos-server -e PREFERRED_NAMING_USE_RPC=true -e MODE=standalone -p 8849:8848 -d nacos/nacos-server
    docker run --name nacos-server -e MODE=standalone -p 8849:8848 -p 9848:9848 -d nacos/nacos-server

  • 访问 Nacos 控制台

    112.44.181.231:8849/nacos

Java项目读不到Docker Nacos配置

https://blog.csdn.net/hmq1350167649/article/details/122432510

https://blog.csdn.net/keypanj2ee/article/details/118725971

2.4 minio

三、运行项目

3.1 后端运行

制作Dockerfile
FROM openjdk:17-jdk-slim

WORKDIR /app

COPY ecerp-api-0.2.0.jar .

CMD ["java", "-jar", "ecerp-api-0.2.0.jar"]
构建 Docker 镜像

docker build -t ecerpapi .

运行 Docker 容器

docker run --name ecerpapi -p 8081:8080 -d ecerpapi

3.2 前端Nginx运行

拉取nginx镜像

docker pull nginx

创建挂载目录
  • nginx_logs :日志文件目录/opt/qihangerp/nginx_logs
  • nginx_conf :配置文件目录/opt/qihangerp/nginx_conf
  • nginx_web :项目文件目录(这里可以存放web文件)/opt/qihangerp/nginx_web

​ 赋权限:

chmod 777 /opt/qihangerp/nginx_logs

chmod 777 /opt/qihangerp/nginx_conf

chmod 777 /opt/qihangerp/nginx_web

创建容器并挂载目录

挂载操作会直接将两个文件夹内容同步,若是直接用宿主机的空文件夹直接挂载到容器内部的配置文件目录上,会造成nginx容器配置文件目录被同步为空文件夹,进而导致容器启动失败。故我们需要先启动一遍容器,将初始配置拷贝出来。

启动容器并拷贝出nginx初始配置
  • 创建容器

docker run -itd --name nginx -p 80:80 nginx

  • 复制容器配置文件到宿主机
    docker cp nginx:/etc/nginx /opt/qihangerp/nginx_conf
删除容器
  • 删除容器

    docker rm -f nginx

修改Nginx配置(增加后台api转发)
location /prod-api/ {
	proxy_set_header Host $http_host;
	proxy_set_header X-Real-IP $remote_addr;
	proxy_set_header REMOTE-HOST $remote_addr;
	proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
	proxy_pass http://localhost:8080/;
}
重新运行容器并挂载目录

docker run -itd --name nginx -p 80:80 -v /opt/qihangerp/nginx_web:/usr/share/nginx/html -v /opt/qihangerp/nginx_conf/nginx:/etc/nginx -v /opt/qihangerp/nginx_logs:/var/log/nginx nginx

访问web

http://ip:80

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

老齐谈电商

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

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

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

打赏作者

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

抵扣说明:

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

余额充值