docker+jenkins+docker-compose+mysql+elasticsearch+ruoyi(若依)

这篇具有很好参考价值的文章主要介绍了docker+jenkins+docker-compose+mysql+elasticsearch+ruoyi(若依)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

安装docker+jenkins+docker-compose+ruoyi+mysql

安装yum命令

下载docker-ce

启动docker

安装docker-compose

查询docker和docker-compose兼容性

查询docker-compose版本

下载docker-compose

使用sudo管理员权限执行命令

 docker-compose --version  查询是否成功   

docker-compose部署若依项目

打包

部署出现过得问题

启动基础环境./deploy.sh base

若依数据库默认密码

很纳闷

deploy.sh  modules命令

docker 安装Jenkins

linux安装jdk17

安装maven

安装gitlab

拉取报错docker: error pulling image configuration

​编辑

修改gitlab配置

重启gitlab

 修改密码

启动Jenkins+挂载配置+访问

jenkins部署若依

安装docker-compose

 宿主机不安装jdk和maven启动

配置容器中得jdk和maven

设置全局工具配置

 构建一个maven项目

 配置项目

 配置Build

jenkins+docker+docker-compose+shell脚本部署

jenkins项目配置

修改项目配置的build

添加Publish over SSH

添加Post Steps

idea中修改项目配置

修改ip

配置Jenkins.sh文件

添加copy.sh

配置deploy.sh

配置jenkins.sh   deploy.sh   copy.sh 文件权限

jenkins部署遇到的问题

 部署ruoyi-ui

配置ruoyi.sh

修改jenkins.sh文件

docker 安装es

docker官网查询镜像地址

第二步启动 es

第三步 创建docker容器挂载的目录

第四步将容器文件拷贝出来

 第五步 设置elasticsearch.yml内容

第七步  重新起容器并挂载外部文件夹

docker安装  logstash

启动 logstash 

创建logstash 挂载文件夹

mkdir -p /data/logstash/config

将容器文件拷贝出来

停止和删除容器

创建logstash.conf配置文件

启动logstash和挂载的文件

docker进入容器

docker安装Kibana

启动kibana

创建kibana本地挂载文件

停止和删除临时容器

启动挂载地址后的新容器

 进入elasticsearch容器获取token

进入es容器修改密码

docker 安装nacos

nacos单机版

启动挂载

nacos配置数据库

 搭建集群nacos

 添加多数据库

修改cluster.conf文件配置集群节点

 遇到问题 :

启动命令配置集群


参考文章

docker一站式安装Java开发环境_codexiaov的博客-CSDN博客docker+jenkins+gitee+shell 自动化部署微服务(基于若依)【详细完整版】_jenkins部署若依微服务_菠萝仔丨叶的博客-CSDN博客docker一站式安装Java开发环境_codexiaov的博客-CSDN博客

后续继续实验完善补全

安装docker

sudo yum install -y yum-utils device-mapper-persistent-data lvm2
sudo yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
sudo yum install docker-ce docker-ce-cli containerd.io
sudo systemctl start docker
# 开机自启动
sudo systemctl enable docker

# docker 会用到很多端口,建立先关闭

systemctl stop firewalld

# 禁止开机启动防火墙

systemctl disable firewalld

#查看是否关闭防火墙

systemctl status firewalld

Docker配置镜像源

{
"registry-mirrors":["https://vu7aic22.mirror.aliyuncs.com","https://hub-mirror.c.163.com","https://registry.aliyuncs.com","https://registry.docker-cn.com","https://docker.mirrors.ustc.edu.cn"]
}

启动docker

systemctl start docker  # 启动docker服务

systemctl stop docker  # 停止docker服务

systemctl restart docker  # 重启docker服务

systemctl enable docker #开机启动

安装docker-compose

查询docker和docker-compose兼容性

https://docs.docker.com/compose/compose-file/compose-file-v3/

查询docker-compose版本

https://github.com/docker/compose/releases/

下载docker-compose

我用的是centos桌面版,修改文件名字为docker-compose    直接拷贝  
存放的路径  usr/local/bin/ 

docker+jenkins+docker-compose+mysql+elasticsearch+ruoyi(若依),mysql,java,docker

使用sudo管理员权限执行命令

sudo chmod +x /usr/local/bin/docker-compose

docker+jenkins+docker-compose+mysql+elasticsearch+ruoyi(若依),mysql,java,docker

 docker-compose --version  查询是否成功   

不熟悉的,不推荐链接地址下载

明明文件在出现错误 : bash: /usr/local/bin/docker-compose: 没有那个文件或目录,

 docker+jenkins+docker-compose+mysql+elasticsearch+ruoyi(若依),mysql,java,docker

docker-compose部署若依项目

打包

需要注意修改若依yml文件中nacos注册中心地址

docker+jenkins+docker-compose+mysql+elasticsearch+ruoyi(若依),mysql,java,docker

复制一个分docker文件 上传到服务器中

docker+jenkins+docker-compose+mysql+elasticsearch+ruoyi(若依),mysql,java,docker

 docker+jenkins+docker-compose+mysql+elasticsearch+ruoyi(若依),mysql,java,docker

部署出现过得问题

问题1 :bash: ./deploy.sh: /bin/sh^M: 坏的解释器: 没有那个文件或目录

脚本文件在windows下编辑过。在windows下,会出现空格 每一行的结尾是\n\r,而在linux下文件的结尾是\n

解决方法 : cat -A 文件名称   #可以查询当前文件   \r 字符被显示为^M

使用指令sed -i 's/\r$//' 【文件名称】  ,上面的指令会把  copy.sh 中的\r 替换成空白
问题2 :启动./deploy.sh modules时,连接nacos 提示 Connection refused: /127.0.0.1:9848

把注册地址换成了,容器名称:端口,不使用ip地址

docker+jenkins+docker-compose+mysql+elasticsearch+ruoyi(若依),mysql,java,docker

 问题3:Connection refused: localhost/127.0.0.1:6379

我是查询redis容器得ip, 修改nacos注册中心yml文件 redis 地址

 docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' 7d7d1b396ac4
docker+jenkins+docker-compose+mysql+elasticsearch+ruoyi(若依),mysql,java,docker

 也配置过容器名称,访问redis   通过docker  logs  去查询也没发现报错信息 

docker+jenkins+docker-compose+mysql+elasticsearch+ruoyi(若依),mysql,java,docker

问题4: 明明若依有几个jar包,其他几个却没有启动

因为在deploy.sh文件中有设置

docker+jenkins+docker-compose+mysql+elasticsearch+ruoyi(若依),mysql,java,docker

启动基础环境./deploy.sh base

我是关闭了防火墙 所以不需要开启端口,命令需要在当前目录下执行

# 开启所需端口
./deploy.sh port

# 启动基础环境

./deploy.sh base  下面是操作图

docker+jenkins+docker-compose+mysql+elasticsearch+ruoyi(若依),mysql,java,docker

 docker+jenkins+docker-compose+mysql+elasticsearch+ruoyi(若依),mysql,java,docker

 docker+jenkins+docker-compose+mysql+elasticsearch+ruoyi(若依),mysql,java,docker

关闭所有模块 因为没有把nacos得sql放入

docker+jenkins+docker-compose+mysql+elasticsearch+ruoyi(若依),mysql,java,docker

 docker+jenkins+docker-compose+mysql+elasticsearch+ruoyi(若依),mysql,java,docker

使用 ./deploy  base 后的成功界面,因为没使用 ./ deploy.sh   modules所以,没有服务注册

docker+jenkins+docker-compose+mysql+elasticsearch+ruoyi(若依),mysql,java,docker

若依数据库默认密码

mysql -uroot-ppassword

docker exec -it     /bin/bash

让root可被所有ip链接

grant all privileges on *.* to root@'%' with grant option;

刷新限权

flush privileges;

当用navicat连接数据库后,建议去执行nacos所需要的sql  

# 开启所需端口
./deploy.sh port

# 启动基础环境(必须)
./deploy.sh base

# 启动程序模块(必须)
./deploy.sh modules

# 关闭所有环境/模块
./deploy.sh stop

# 删除所有环境/模块
./deploy.sh rm

很纳闷

当nacos通过docker logs 查询日志时,出现No DataSource set错误时 ,进入mysql容器,然后进入mysql,nacos就能访问
后面再次关机,重试启动所有服务时, 就没有在出现

docker+jenkins+docker-compose+mysql+elasticsearch+ruoyi(若依),mysql,java,docker

deploy.sh  modules命令

docker+jenkins+docker-compose+mysql+elasticsearch+ruoyi(若依),mysql,java,docker

docker 安装Jenkins

docker pull jenkinsci/blueocean

当下载超时,去阿里云容器镜像服务,把加速器的地址加入daemon.json

docker+jenkins+docker-compose+mysql+elasticsearch+ruoyi(若依),mysql,java,docker

linux安装jdk17

Java Downloads | Oracle

将文件传输到Linux的 /opt 目录下

docker+jenkins+docker-compose+mysql+elasticsearch+ruoyi(若依),mysql,java,docker

 解压文件

tar -zxvf jdk-17_linux-x64_bin.tar.gz

配置环境变量

vim /etc/profile

在文件底部加上

JAVA_HOME=/opt/jdk-17.0.7
PATH=/opt/jdk-17.0.7/bin:$PATH
export JAVA_HOME PATH

docker+jenkins+docker-compose+mysql+elasticsearch+ruoyi(若依),mysql,java,docker

保存后让配置文件生效

source /etc/profile

安装maven

https://maven.apache.org/download.cgimaven 官网地址  https://maven.apache.org/download.cgi

 存放路径自己选择,只要在profile指定就行

docker+jenkins+docker-compose+mysql+elasticsearch+ruoyi(若依),mysql,java,docker

修改配置文件

:%d   清空文件内容    替换以下配置

<?xml version="1.0" encoding="UTF-8"?>
 
<settings xmlns="http://maven.apache.org/SETTINGS/1.2.0"
          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
          xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.2.0 https://maven.apache.org/xsd/settings-1.2.0.xsd">
 
  <localRepository>/m2/repository</localRepository>
  
  <pluginGroups>
  </pluginGroups>
 
  <proxies>    
  </proxies>
 
  <servers>
  </servers>
 
  <mirrors>
    <mirror>  
   	  <id>alimaven</id>  
   	  <name>aliyun maven</name>  
	  <url>http://maven.aliyun.com/nexus/content/groups/public/</url>  
   	  <mirrorOf>central</mirrorOf>          
    </mirror> 
  </mirrors>
 
  <profiles>
  </profiles>
</settings>

 修改profile  在底部加入以下配置  注意路径   

MAVEN_HOME=/usr/local/maven/apache-maven-3.9.2
PATH=$MAVEN_HOME/bin:$PATH
export MAVEN_HOME PATH

保存后让配置文件生效

source /etc/profile

验证

mvn -version

安装gitlab

docker pull gitlab/gitlab-ce:latest

拉取报错docker: error pulling image configuration

解决方法 修改国内镜像

vim /etc/docker/daemon.json
{
  "registry-mirrors": ["https://registry.docker-cn.com","https://nrbewqda.mirror.aliyuncs.com","https://dmmxhzvq.mirror.aliyuncs.com"]
}

然后重启docker

systemctl restart docker

docker+jenkins+docker-compose+mysql+elasticsearch+ruoyi(若依),mysql,java,docker

启动gitlab 和设置挂载
\-v /var/gitlab 这是挂载路径
 

docker run \-itd  \-p 9980:80 \-p 9922:22 \-v /var/gitlab/etc:/etc/gitlab  \-v /var/gitlab/log:/var/log/gitlab \-v /var/gitlab/opt:/var/opt/gitlab \--restart always \--privileged=true \--name gitlab \gitlab/gitlab-ce
 

修改gitlab配置

修改端口80  改为 9980

docker+jenkins+docker-compose+mysql+elasticsearch+ruoyi(若依),mysql,java,docker

重启gitlab

docker+jenkins+docker-compose+mysql+elasticsearch+ruoyi(若依),mysql,java,docker

 docker+jenkins+docker-compose+mysql+elasticsearch+ruoyi(若依),mysql,java,docker

 修改密码

#进入容器  执行以下命令
docker exec -it gitlab /bin/bash

# 进入控制台
gitlab-rails console -e production
 
# 查询id为1的用户,id为1的用户是超级管理员
user = User.where(id:1).first
# 密码不能太简单 修改密码为root123456
user.password='root123456'
# 保存
user.save!
# 退出
exit

docker+jenkins+docker-compose+mysql+elasticsearch+ruoyi(若依),mysql,java,docker

 gitlab界面设置中文

docker+jenkins+docker-compose+mysql+elasticsearch+ruoyi(若依),mysql,java,docker

启动Jenkins+挂载配置+访问

启动后访问密码在本机var地址中,不在docker容器

docker run \-u root \-d \--name jenkins \--restart=always \-p 8001:8080 \-p 50000:50000 \-v /var/run/docker.sock:/var/run/docker.sock \-v /var/jenkins_home:/var/jenkins_home \jenkinsci/blueocean

docker+jenkins+docker-compose+mysql+elasticsearch+ruoyi(若依),mysql,java,docker

 docker+jenkins+docker-compose+mysql+elasticsearch+ruoyi(若依),mysql,java,docker

 初次可以选择推荐的插件docker+jenkins+docker-compose+mysql+elasticsearch+ruoyi(若依),mysql,java,docker

jenkins部署若依

安装docker-compose

可以参考前面得安装和使用

修改文件名字
mv docker-compose-linux-x86 64 docker-compose
授权
sudo chmod +x /usr/local/bin/docker-compose
查询是否成功
docker-compose -version

下载jenkins:jdk17版本

docker pull jenkins/jenkins:jdk17

因为这个版本在新手安装插件时,都是成功得, 比如jenkinsci/blueocean  有些插件下载不了,或者因为镜像源得版本 

例如 以下问题

docker+jenkins+docker-compose+mysql+elasticsearch+ruoyi(若依),mysql,java,docker

有一些可以使用 清华镜像源解决  :  https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/

完整路径例子 : https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/dynamic-2.387/update-center.json

修改站点地址

docker+jenkins+docker-compose+mysql+elasticsearch+ruoyi(若依),mysql,java,docker

docker+jenkins+docker-compose+mysql+elasticsearch+ruoyi(若依),mysql,java,docker

 宿主机不安装jdk和maven启动

设置挂载目录,默认密码也在挂载目录下面

docker run -u root -it --name jenkins -p 9200:8080  -v /var/jenkins_home:/var/jenkins_home -d jenkins/jenkins:jdk17

因为选择得jenkins-jdk17 ,所以只需要拷贝maven到容器中

docker cp /usr/local/maven/apache-maven-3.9.2    容器名称:/opt

因为容器中无法编辑profile,所以我是拷贝出来进行修改环境变量

docker cp  jenkins92:/etc/profile  /usr/local/maven/apache-maven-3.9.2

配置容器中得jdk和maven

在文件的最下面添加容器中得maven和jdk地址
export MAVEN_HOME=/opt/apache-maven-3.9.2                
export PATH=$MAVEN_HOME/bin:$PATH

JAVA_HOME=/opt/java/openjdk
PATH=/opt/java/openjdk/bin:$PATH
export JAVA_HOME PATH

#生效profile文件
source /etc/profile

检查
mvn -v

java -version

 设置全局工具配置
docker+jenkins+docker-compose+mysql+elasticsearch+ruoyi(若依),mysql,java,docker

docker+jenkins+docker-compose+mysql+elasticsearch+ruoyi(若依),mysql,java,docker

docker+jenkins+docker-compose+mysql+elasticsearch+ruoyi(若依),mysql,java,docker

docker+jenkins+docker-compose+mysql+elasticsearch+ruoyi(若依),mysql,java,docker

 构建一个maven项目

 如果没有这个选项, 需要去jenkins下载插件 Maven Integration plugin, 然后在重启

 docker+jenkins+docker-compose+mysql+elasticsearch+ruoyi(若依),mysql,java,docker

docker+jenkins+docker-compose+mysql+elasticsearch+ruoyi(若依),mysql,java,docker

docker+jenkins+docker-compose+mysql+elasticsearch+ruoyi(若依),mysql,java,docker

 配置项目

Credentials 是需要去设置账户密码,我使用的url是gitlab地址

docker+jenkins+docker-compose+mysql+elasticsearch+ruoyi(若依),mysql,java,docker

docker+jenkins+docker-compose+mysql+elasticsearch+ruoyi(若依),mysql,java,docker

 创建账户docker+jenkins+docker-compose+mysql+elasticsearch+ruoyi(若依),mysql,java,docker

docker+jenkins+docker-compose+mysql+elasticsearch+ruoyi(若依),mysql,java,docker

 docker+jenkins+docker-compose+mysql+elasticsearch+ruoyi(若依),mysql,java,docker

docker+jenkins+docker-compose+mysql+elasticsearch+ruoyi(若依),mysql,java,docker

 ID不设置,会默认生成  docker+jenkins+docker-compose+mysql+elasticsearch+ruoyi(若依),mysql,java,docker

 配置Build

 如果 jenkins   提示没有这个文件: ‘pom.xml‘   说明在工作空间中没有把gitlab项目拉下来

docker+jenkins+docker-compose+mysql+elasticsearch+ruoyi(若依),mysql,java,docker

docker+jenkins+docker-compose+mysql+elasticsearch+ruoyi(若依),mysql,java,docker

 立即构建后回去下载包

docker+jenkins+docker-compose+mysql+elasticsearch+ruoyi(若依),mysql,java,docker

jenkins+docker+docker-compose+shell脚本部署

启动 jenkins


docker run -u root -it --name jenkins30 -p 9400:8080  -v /var/jenkins_home3:/var/jenkins_home -v /opt/jdk-17.0.7:/opt/java/openjdk -v /usr/local/maven/apache-maven-3.9.2:/opt/apache-maven-3.9.2 -d jenkins/jenkins:jdk17

#修改jenkins容器jdk环境变量

当启动挂载目录时,容器中就会创建对应文件夹,只需要修改环境变量路径

jenkins全局工具配置的jdk需要和jenkins容器配置的环境变量一致

export MAVEN_HOME=/opt/apache-maven-3.9.2                
export PATH=$MAVEN_HOME/bin:$PATH

JAVA_HOME=/opt/java/openjdk
PATH=/opt/java/openjdk/bin:$PATH
export JAVA_HOME PATH
替换文件jenkins容器中profile文件

docker cp  /usr/local/maven/apache-maven-3.9.2/profile   jenkins30:/etc/profile  

#生效profile文件


source /etc/profile

docker+jenkins+docker-compose+mysql+elasticsearch+ruoyi(若依),mysql,java,docker

jenkins项目配置

修改项目配置的build

docker+jenkins+docker-compose+mysql+elasticsearch+ruoyi(若依),mysql,java,docker

添加Publish over SSH

没有这个选项的取下载插件

docker+jenkins+docker-compose+mysql+elasticsearch+ruoyi(若依),mysql,java,docker

用于jenkins通过SSH连接服务用

docker+jenkins+docker-compose+mysql+elasticsearch+ruoyi(若依),mysql,java,docker

 找到SSH Servers , 添加SSH连接地址和密码

docker+jenkins+docker-compose+mysql+elasticsearch+ruoyi(若依),mysql,java,docker

添加Post Steps

 docker+jenkins+docker-compose+mysql+elasticsearch+ruoyi(若依),mysql,java,docker

选择你添加的SSH账户和配置

Remote directory  指定宿主机容器地址,也就是你liunx系统的地址,

会根据指定的路径 /home/sw 把构建的项目存在路径下 ,jenkins构建完成后,可以去当前路径下查看

Exec command : 执行宿主机下路径的脚本

cd  /home/docker/  找到路径   我是换行了,至于不换行,能不能执行还没实验

sh ./jenkins.sh    执行的shell脚本

docker+jenkins+docker-compose+mysql+elasticsearch+ruoyi(若依),mysql,java,docker

idea中修改项目配置
修改ip

连接nacos 和 config 替换   ruoyi-nacos

连接mysql 替换   ruoyi-mysql          这里需要注意配置文件是在nacos中   ,修改后重启对应容器

连接redis替换   ruoyi-redis            这里需要注意有些配置文件是在nacos中    

docker+jenkins+docker-compose+mysql+elasticsearch+ruoyi(若依),mysql,java,docker

 注意dockerfile 里面的路径配置

配置Jenkins.sh文件

 如果在windows下编辑,需要注意空格无法被liunx环境识别  否则会报

bash: ./ruoyi-ui.sh: /bin/sh^M: 坏的解释器: 没有那个文件或目录

解决方法 : cat -A 文件名称   #可以查询当前文件   \r 字符被显示为^M

使用指令sed -i 's/\r$//' 【文件名称】  ,上面的指令会把  copy.sh 中的\r 替换成空白

配置容器名称和版本,设置执行的脚本

执行了拷贝 : copy.sh

执行了 deploy.sh  modules  

#!/bin/sh
echo "清理已有容器及镜像资源"
	for container in {"ruoyi-gateway","ruoyi-auth","ruoyi-modules-system"}
do
	image=docker-${container}:latest
	if docker ps | grep ${container} ;then
	    docker stop ${container}
	fi
	if docker ps -a | grep ${container};then
	    docker rm ${container}
	fi
	if docker images | grep ${image};then
	    docker rmi ${image}
	fi
done


# 拷贝构建的jar包到宿主机
/home/docker/copy.sh
# 重新启动docker项目
/home/docker/deploy.sh modules

因为这里使用docker-compose  如果没有请下参考前面的配置方式进行配置

 作用是执行docker-compose.yml文件里面的配置, 在docker-compose.yml配置文件中有指定执行dockerfile,在dockerfile中又配置了执行jar的路径

docker+jenkins+docker-compose+mysql+elasticsearch+ruoyi(若依),mysql,java,docker

version : '3.8'
services:
  ruoyi-nacos:
    #指定容器的名称为
    container_name: ruoyi-nacos
    #指定要使用的镜像
    image: nacos/nacos-server
    build:
      #表示在 ./nacos 目录下有 Dockerfile,可以用来构建镜像。
      context: ./nacos
    #设置环境变量,这里设置了 MODE=standalone,表示以单机模式运行 Nacos。
    environment:
      - MODE=standalone
    #设置容器挂载路径   挂载文件或目录到容器中
    volumes:
      - ./nacos/logs/:/home/nacos/logs
      - ./nacos/conf/application.properties:/home/nacos/conf/application.properties
    #将容器内的端口映射到宿主机的对应端口
    ports:
      - "8848:8848"
      - "9848:9848"
      - "9849:9849"
    #定义了服务之间的依赖关系,这里表示 ruoyi-nacos 依赖于另一个名为 ruoyi-mysql 的服务。
    depends_on:
      - ruoyi-mysql
    links:
      - ruoyi-mysql
  ruoyi-mysql:
    #指定容器的名称为
    container_name: ruoyi-mysql
    #指定要使用的镜像
    image: mysql:5.7
    build:
      #表示在 ./mysql 目录下有 Dockerfile,可以用来构建镜像。
      context: ./mysql
    #将容器内的端口映射到宿主机的对应端口
    ports:
      - "3306:3306"
    #设置容器挂载路径
    volumes:
      - ./mysql/conf:/etc/mysql/conf.d
      - ./mysql/logs:/logs
      - ./mysql/data:/var/lib/mysql
    #command: 定义了要在容器内运行的命令和参数。
    #'mysqld': 指定要运行的命令为 mysqld,即 MySQL 服务器进程。
    #--innodb-buffer-pool-size=80M: 设置 InnoDB 缓冲池的大小为 80MB。这是 MySQL 中用于存储数据和索引的内存缓冲区。
    #--character-set-server=utf8mb4: 设置 MySQL 服务器的字符集为 utf8mb4,支持存储和处理 Unicode 字符。
    #--collation-server=utf8mb4_unicode_ci: 设置 MySQL 服务器的排序规则为 utf8mb4_unicode_ci,用于字符串比较和排序。
    #--default-time-zone=+8:00: 设置默认时区为 UTC+8,这里表示东八区时间。
    #--lower-case-table-names=1: 设置表名大小写不敏感,即表名的字母都被转换为小写。
    command: [
          'mysqld',
          '--innodb-buffer-pool-size=80M',
          '--character-set-server=utf8mb4',
          '--collation-server=utf8mb4_unicode_ci',
          '--default-time-zone=+8:00',
          '--lower-case-table-names=1'
        ]
    # #设置环境变量
    environment:
      #表示要创建的数据库名称为 'ry-cloud'。这将在 MySQL 容器启动时自动创建该数据库。
      MYSQL_DATABASE: 'ry-cloud'
      #表示要设置的 MySQL 根用户的密码为 'password'   账户为root
      MYSQL_ROOT_PASSWORD: password

  ruoyi-redis:
    container_name: ruoyi-redis
    image: redis
    build:
      context: ./redis
    ports:
      - "6379:6379"
    volumes:
      - ./redis/conf/redis.conf:/home/ruoyi/redis/redis.conf
      - ./redis/data:/data
    #表示在 Redis 容器中执行的命令是 redis-server /home/ruoyi/redis/redis.conf。
    #告诉 Redis 容器使用指定的配置文件 /home/ruoyi/redis/redis.conf 启动 Redis 服务器
    command: redis-server /home/ruoyi/redis/redis.conf
  ruoyi-nginx:
    container_name: ruoyi-nginx
    image: nginx
    build:
      context: ./nginx
    ports:
      - "80:80"
    volumes:
      - ./nginx/html/dist:/home/ruoyi/projects/ruoyi-ui
      - ./nginx/conf/nginx.conf:/etc/nginx/nginx.conf
      - ./nginx/logs:/var/log/nginx
      - ./nginx/conf.d:/etc/nginx/conf.d
    #表示该容器依赖于名为 "ruoyi-gateway" 的服务容器,在启动时会先启动 "ruoyi-gateway"。
    depends_on:
      - ruoyi-gateway
    #将 "ruoyi-gateway" 容器与 "ruoyi-nginx" 容器链接起来,以便于容器之间的通信。 相当于在gateway上搭建了nginx
    links:
      - ruoyi-gateway
  ruoyi-gateway:
    container_name: ruoyi-gateway
    build:
      context: ./ruoyi/gateway
      dockerfile: dockerfile
    ports:
      - "8080:8080"
    #表示 ruoyi-gateway容器依赖于名为 "ruoyi-redis" 的服务容器
    depends_on:
      - ruoyi-redis
    #将 "ruoyi-redis" 容器与 "ruoyi-gateway" 容器链接起来,以便于容器之间的通信。
    links:
      - ruoyi-redis
  ruoyi-auth:
    container_name: ruoyi-auth
    build:
      context: ./ruoyi/auth
      dockerfile: dockerfile
    ports:
      - "9200:9200"
    depends_on:
      - ruoyi-redis
    links:
      - ruoyi-redis
  ruoyi-modules-system:
    container_name: ruoyi-modules-system
    build:
      context: ./ruoyi/modules/system
      dockerfile: dockerfile
    ports:
      - "9201:9201"
    depends_on:
      - ruoyi-redis
      - ruoyi-mysql
    links:
      - ruoyi-redis
      - ruoyi-mysql
  ruoyi-modules-gen:
    container_name: ruoyi-modules-gen
    build:
      context: ./ruoyi/modules/gen
      dockerfile: dockerfile
    ports:
      - "9202:9202"
    depends_on:
      - ruoyi-mysql
    links:
      - ruoyi-mysql
  ruoyi-modules-job:
    container_name: ruoyi-modules-job
    build:
      context: ./ruoyi/modules/job
      dockerfile: dockerfile
    ports:
      - "9203:9203"
    depends_on:
      - ruoyi-mysql
    links:
      - ruoyi-mysql
  ruoyi-modules-file:
    container_name: ruoyi-modules-file
    build:
      context: ./ruoyi/modules/file
      dockerfile: dockerfile
    ports:
      - "9300:9300"
    volumes:
    - ./ruoyi/uploadPath:/home/ruoyi/uploadPath
  ruoyi-visual-monitor:
    container_name: ruoyi-visual-monitor
    build:
      context: ./ruoyi/visual/monitor
      dockerfile: dockerfile
    ports:
      - "9100:9100"
添加copy.sh

注意在windows环境下编辑容易产生liunx无法识别的空格

主要作用就是拷贝

指定宿主机路径/home/sw 打包路径下的jar    拷贝到宿主机其他路径,方便./deploy.sh 执行

docker+jenkins+docker-compose+mysql+elasticsearch+ruoyi(若依),mysql,java,docker

配置deploy.sh

路径最好是和jenkins.sh文件中配置的一致,如果你要增加模块, 可以把docker-compose文件配置的模块名称加入到 base和modules中

端口号如果没有关闭防火墙,就需要调用 ./deploy  port  执行配置的端口

配置完成后先别急使用jenkins进行构建,还需要配置jenkins.sh   deploy.sh   copy.sh 文件权限

docker+jenkins+docker-compose+mysql+elasticsearch+ruoyi(若依),mysql,java,docker

配置jenkins.sh   deploy.sh   copy.sh 文件权限

ls -l deploy.sh  查询权限

 chmod +rwx  deploy.sh   设置文件权限

docker+jenkins+docker-compose+mysql+elasticsearch+ruoyi(若依),mysql,java,docker

jenkins部署遇到的问题

问题1
若依的mysql脚本为啥不会放入/docker-entrypoint-initdb.d文件夹中, 
 我用docker  cp 放入, 重启mysql 容器sql也还是不会被执行


./deploy启动后mysql 只会创建一个ruoyi-cloud   不会使用sql文件进行创建
因为没有加入/docker-entrypoint-initdb.d(用于存放初始化数据库的脚本文件)

想过是不是文件的使用权限不够

查询文件权限
ls -l ry_config_20220929.sql

这个问题还没解决
问题2
Server check fail, please check server x.x.x.x ,port 9848 is available , error ={}

docker+jenkins+docker-compose+mysql+elasticsearch+ruoyi(若依),mysql,java,docker
解决方法 : 是因为删除镜像不彻底  docker rmi / rm   去删除容器和镜像,
然后在修改system服务数据库,连接地址改成ruoyi-mysql  和 ruoyi-redis  然后重启,最后所有容器才启动成功
问题3
10:32:21 ERROR: Exception when publishing, exception message [Exec exit status not zero. Status [2]]
修改 shell脚本  检查是否存在windows空格

 部署ruoyi-ui

Centos安装Nodejs简单方式_诚哥博客的博客-CSDN博客

安装 Node.js 和 npm

cd /usr/local
wget https://npmmirror.com/mirrors/node/v16.18.1/node-v16.18.1-linux-x64.tar.xz

node -v

npm -v

配置ruoyi.sh
#!/bin/sh

#进入路径
cd /home/sw/ruoyi-ui

#安装依赖
npm  install

#删除原打包
rm -rf  dist

#打包
npm run build:prod

#将名为 "stage" 的文件或目录重命名为 "dist"
mv stage dist

# 打包完成后,将生成的静态文件复制到指定目录
# 例如,a将 dist 目录下的文件 通过copy.sh 复制到 NGINX 的 HTML 目录
#cp -R dist/* /usr/share/nginx/html
修改jenkins.sh文件

因为在copy.sh  配置文件中,把打包生成的html文件拷贝到nginx中,

#!/bin/sh
echo "清理已有容器及镜像资源"
	for container in {"ruoyi-gateway","ruoyi-auth","ruoyi-modules-system"}
do
	image=docker-${container}:latest
	if docker ps | grep ${container} ;then
	    docker stop ${container}
	fi
	if docker ps -a | grep ${container};then
	    docker rm ${container}
	fi
	if docker images | grep ${image};then
	    docker rmi ${image}
	fi
done

#部署ruoyi-ui
/home/docker/ruoyi-ui.sh
# 拷贝构建的jar包到宿主机
/home/docker/copy.sh
# 重新启动docker项目
/home/docker/deploy.sh modules

访问路径http://192.168.16.130/login

访问路径http://192.168.16.130/login

docker 安装es

docker  login  登录

docker tag  镜像名称 / TAG   docker账户/ 上传得版本号      打包镜像上传到docker

docker tag hello-world:latest gandegui629/test-hello:1.0.0

 docker push gandegui629/test-hello:1.0.0    上传

docker pull elasticsearch:7.17.2

docker ps 查看是否启动

docker logs elasticsearch 启动日志查询

docker restart elasticsearch 重启

docker exec -it 容器名称 /bin/bash   进入 容器

exit  退出容器

docker logs <容器名称或ID>   查询容器日志
docker ps -a  查询所有容器

docker inspect <容器名称或ID> grep IPAddress   查看容器IP地址

docker logs -f cf66a8bd5cb5   查询容器实时日志

查询容器的ip地址 4bf93249fc1b 容器的id

docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' 4bf93249fc1b
 

docker官网查询镜像地址

Docker

第二步启动 es

docker run -d --name elasticsearch -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" -e ES_JAVA_OPTS="-Xms256m -Xmx256m" elasticsearch:7.17.2

参数说明

  • -d 后台启动
  • –name 起别名即:NAMES
  • -p 9200:9200 将端口映射出来
    elasticsearch的9200端口是供外部访问使用;9300端口是供内部访问使用集群间通讯
  • -e "discovery.type=single-node"单节点启动
  • -e ES_JAVA_OPTS="-Xms256m -Xmx256m" 限制内存大小

docker ps 查看是否启动成功

第三步 创建docker容器挂载的目录

mkdir -p /data/elasticsearch/{config,data,logs,plugins}

第四步将容器文件拷贝出来

docker cp elasticsearch:/usr/share/elasticsearch/config /data/elasticsearch

docker cp elasticsearch:/usr/share/elasticsearch/logs /data/elasticsearch

docker cp elasticsearch:/usr/share/elasticsearch/data /data/elasticsearch

docker cp elasticsearch:/usr/share/elasticsearch/plugins /data/elasticsearch

docker+jenkins+docker-compose+mysql+elasticsearch+ruoyi(若依),mysql,java,docker

 第五步 设置elasticsearch.yml内容

vi /data/elasticsearch/config/elasticsearch.yml

还可以设置密码

docker+jenkins+docker-compose+mysql+elasticsearch+ruoyi(若依),mysql,java,docker

第六步  停止和删除临时容器

 docker stop elasticsearch

docker rm elasticsearch

docker+jenkins+docker-compose+mysql+elasticsearch+ruoyi(若依),mysql,java,docker

第七步  重新起容器并挂载外部文件夹

docker run -d --name elasticsearch -p 9200:9200 -p 9300:9300 \-e "discovery.type=single-node" \-e ES_JAVA_OPTS="-Xms256m -Xmx256m" \-v /data/elasticsearch/logs:/usr/share/elasticsearch/logs \-v /data/elasticsearch/data:/usr/share/elasticsearch/data \-v /data/elasticsearch/plugins:/usr/share/elasticsearch/plugins \-v /data/elasticsearch/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml \elasticsearch:7.17.2

注意 \-e   \-v之间不能有空格     \前面需要一个空格否则会报 docker: invalid reference format

docker+jenkins+docker-compose+mysql+elasticsearch+ruoyi(若依),mysql,java,docker

 然后就可以访问  curl "http://localhost:9200"  这是在虚拟机安装的,可以在本机访问 例如192.168.16.128:9200

docker+jenkins+docker-compose+mysql+elasticsearch+ruoyi(若依),mysql,java,docker

es命令

match query 用于搜索单个字段

GET /attendance_server_log/_search
{
  "query": {
    "match": {
      "action": "修改"
    }
  }
}
#等同于 or 匹配操作

multi_match 是 match 的升级,用于搜索多个字段

docker安装  logstash

docker pull logstash:7.17.2

启动 logstash 

启动 logstash  :  docker run -d --name logstash -p 5044:5044 -p 9600:9600 logstash:7.17.2

docker+jenkins+docker-compose+mysql+elasticsearch+ruoyi(若依),mysql,java,docker

创建logstash 挂载文件夹

mkdir -p /data/logstash/config

将容器文件拷贝出来

docker cp logstash:/usr/share/logstash/config /data/logstash/config

docker+jenkins+docker-compose+mysql+elasticsearch+ruoyi(若依),mysql,java,docker

停止和删除容器

docker stop logstash 

docker rm -f logstash 

创建logstash.conf配置文件

input {
  #为logstash增加tcp输入口,方便springboot接入
  tcp {
    mode => "server"
    host => "0.0.0.0"
	#从4560端口取日志
    port => 4560
	#需要进入logstash容器安装logstash-codec-json_lines插件
    codec => json_lines
	#设置类型
    type => "debug"
  }
  tcp {
    mode => "server"
    host => "0.0.0.0"
    port => 4561
    codec => json_lines
    type => "error"
  }
  tcp {
    mode => "server"
    host => "0.0.0.0"
    port => 4562
    codec => json_lines
    type => "info"
  }
  tcp {
    mode => "server"
    host => "0.0.0.0"
    port => 4563
    codec => json_lines
    type => "record"
  }
}

#数据筛选和过滤,只处理符合特定条件的数据,不需要可删除
filter{
  if [type] == "record" {
    mutate {
      remove_field => "port"
      remove_field => "host"
      remove_field => "@version"
    }
    json {
      source => "message"
      remove_field => ["message"]
    }
  }
}
output {
  elasticsearch {
   #hosts中的地址应该写同一network下的容器名称
    hosts => "192.168.16.128:9200"
    index => "springboot-%{type}-%{+YYYY.MM.dd}"
  }
}

启动logstash和挂载的文件

  docker run --name logstash -p 4560:4560 -p 4561:4561 -p 4562:4562 -p 4563:4563 \--link elasticsearch:es \-v /data/logstash/config/config/logstash.conf:/usr/share/logstash/pipeline/logstash.conf \-d logstash:7.17.2

docker+jenkins+docker-compose+mysql+elasticsearch+ruoyi(若依),mysql,java,docker

docker进入容器

docker exec -it bc3fa65632bb bash 

# 进入bin目录 cd /bin/

# 安装插件 logstash-plugin install logstash-codec-json_lines

# 重启logstash服务 docker restart logstash

docker+jenkins+docker-compose+mysql+elasticsearch+ruoyi(若依),mysql,java,docker

docker安装Kibana

docker pull kibana:7.17.2

启动kibana

 docker run -d --name kibana -p 5601:5601 kibana:7.17.2

创建kibana本地挂载文件

mkdir -p /data/kibana/

拷贝docker文件指定存储

docker cp kibana:/usr/share/kibana/config  /data/kibana
docker+jenkins+docker-compose+mysql+elasticsearch+ruoyi(若依),mysql,java,docker

 修改kibana.yml配置文件

vim /data/kibana/config/kibana.yml

docker+jenkins+docker-compose+mysql+elasticsearch+ruoyi(若依),mysql,java,docker

停止和删除临时容器

docker stop  kibana

docker rm  kibana

 docker+jenkins+docker-compose+mysql+elasticsearch+ruoyi(若依),mysql,java,docker

启动挂载地址后的新容器

docker run -d --name kibana -p 5601:5601 -v /data/kibana/config:/usr/share/kibana/config kibana:7.17.2

 进入elasticsearch容器获取token

 因为kibana发现es需要token

b726550721fb = 容器id

docker exec -it b726550721fb /bin/bash bin/elasticsearch-create-enrollment-token --scope kibana

进入es容器修改密码

使用kibana查询索引下的所有

7之后的版本,默认情况下会连接localhost:9200  的Es

match query 用于搜索单个字段

docker+jenkins+docker-compose+mysql+elasticsearch+ruoyi(若依),mysql,java,docker

docker 安装nacos

nacos单机版

docker  pull

docker run -d --name nacos -p 8848:8848 -e MODE=standalone  nacos/nacos-server
创建挂载目录

 mkdir -p /data/nacos/{conf,data,logs}

拷贝文件到新建的文件夹中
docker+jenkins+docker-compose+mysql+elasticsearch+ruoyi(若依),mysql,java,docker

请求地址http://192.168.16.128:8848/nacos

docker+jenkins+docker-compose+mysql+elasticsearch+ruoyi(若依),mysql,java,docker

 删除启动的nacos

docker  stop nacos 

docker rm nacos

启动挂载

docker run -it --name nacos \-p 8848:8848 \-e MODE=standalone 
\-v /data/nacos/conf/application.properties:/home/nacos/conf/application.properties 
\-v /data/nacos/data:/home/nacos/conf/data 
\-v /data/nacos/logs:/home/nacos/conf/logs \-d nacos/nacos-server

 docker exec -it 容器名称 /bin/bash   进入 容器

因为我使用的是本机安装虚拟机的方式,想让docker中的nacos 连接到本机mysql 需要指定

--network host参数将容器连接到宿主机的网络,

docker run --network host -d -e MODE=standalone -v /data/nacos/logs:/home/nacos/logs -v /data/nacos/conf:/home/nacos/conf -p 8848:8848 --name nacos --restart=always  nacos/nacos-server:v2.2.3

需要注意,当使用nacos配置文件使用root账户时, mysql库中的user表, root 用户host是否设置了% 否则nacos无法连接

可能会出现以下报错

message from server: "Host '192.168.38.52' is blocked because of many connection errors; unblock with 'mysqladmin flush-hosts'
Access denied for user ‘root‘@ ‘*.*.*.*‘ (using password: YES)
Nacos启动报错java.lang.IllegalStateException: No DataSource set

nacos配置数据库

我是通过在虚拟机中的docker 安装nacos 访问本机的mysql数据

docker+jenkins+docker-compose+mysql+elasticsearch+ruoyi(若依),mysql,java,docker

 搭建集群nacos

准备nacos三个服务端

 添加多数据库

修改application.properties 配置文件  添加多数据库

spring.datasource.platform=mysql


### Connect URL of DB:  当一个数据挂了后,会切换到另外一个数据库
db.num=1
db.url.0=jdbc:mysql://192.168.38.52:3306/nacos?rewriteBatchedStatements=true&characterEncoding=UTF8&serverTimezone=GMT%2B8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useSSL=false&allowPublicKeyRetrieval=true
db.user.0=root
db.password.0=yraicm

db.num=2
db.url.1=jdbc:mysql://192.168.88.79:3306/nacos?rewriteBatchedStatements=true&characterEncoding=UTF8&serverTimezone=GMT%2B8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useSSL=false&allowPublicKeyRetrieval=true
db.user.1=root
db.password.1=Attendance@2022*

修改cluster.conf文件配置集群节点

分别启动nacos节点    nacos默认启动是集群方式

docker+jenkins+docker-compose+mysql+elasticsearch+ruoyi(若依),mysql,java,docker

 遇到问题 :

nacos 服务端配置多数据源时, 添加配置时, 另外一个数据源没有数据

需要通过mysql的主从同步来实现

当没有做主从时, nacos多数据库源,只适合当一个数据源挂掉后,进行切换

启动命令配置集群

这命令只会在虚拟机访问

docker run \--name nacos8850 -itd \--privileged=true \--restart=always \-p 8850:8850 \-e MODE=cluster \-e PREFER_HOST_MODE=ip \-e NACOS_SERVER_IP=192.168.16.128 \-e NACOS_SERVERS=192.168.16.128:8850,192.168.16.128:8860,192.168.16.128:8870 \-e SPRING_DATASOURCE_PLATFORM=mysql \-e MYSQL_SERVICE_HOST=192.168.38.52 \-e MYSQL_SERVICE_PORT=3306 \-e MYSQL_SERVICE_USER=root \-e MYSQL_SERVICE_PASSWORD=yraicm \-e MYSQL_SERVICE_DB_NAME=nacos \-e TIME_ZONE='Asia/Shanghai' \-e JVM_XMS=512m \-e JVM_XMX=512m \nacos/nacos-server:v2.2.3

本机电脑访问 需要\--network host 将容器连接到宿主机的网络,

docker run \--network host  \--name nacos8850 -itd \--privileged=true \--restart=always \-p 8850:8850 \-e MODE=cluster \-e PREFER_HOST_MODE=ip \-e NACOS_SERVER_IP=192.168.16.128 \-e NACOS_SERVERS=192.168.16.128:8850,192.168.16.128:8860,192.168.16.128:8870 \-e SPRING_DATASOURCE_PLATFORM=mysql \-e MYSQL_SERVICE_HOST=192.168.38.52 \-e MYSQL_SERVICE_PORT=3306 \-e MYSQL_SERVICE_USER=root \-e MYSQL_SERVICE_PASSWORD=yraicm \-e MYSQL_SERVICE_DB_NAME=nacos \-e TIME_ZONE='Asia/Shanghai' \-e JVM_XMS=512m \-e JVM_XMX=512m \nacos/nacos-server:v2.2.3
 


 文章来源地址https://www.toymoban.com/news/detail-752695.html

到了这里,关于docker+jenkins+docker-compose+mysql+elasticsearch+ruoyi(若依)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • docker-compose 集成Jenkins部署,打包,发布

    需要提前准备的条件 查询linux服务器中jdk,maven,nodejs的路径地址,挂载到jenkins容器的指定路径,如下图: 写法:-服务器路径:容器路径 图片内容说明将服务器中的jdk,maven,nodejs挂载到jenkins容器中 - /root/.ssh:/root/.ssh 为ssh生成的密钥地址!!! 图中可以合并写成 Jenkins需要

    2024年02月04日
    浏览(49)
  • 七、docker-compose方式运行Jenkins,更新Jenkins版本,添加npm node环境

    一、docker-compose方式安装运行Jenkins 中发现Jenkins版本有点老,没有node环境,本节来说下更新jenkins 及添加构建前端的node环境。

    2024年02月16日
    浏览(49)
  • Jenkins+Docker+Docker-Compose自动部署,SpringCloud架构公共包一个任务配置

    前言 Jenkins和docker的安装,随便百度吧,实际场景中我们很多微服务的架构,都是有公共包,肯定是希望一个任务能够把公共包的配置加进去,一并构建,ok,直接上干货。 Jenkins 全局环境安装 这里使用 clean package -Dmaven.test.skip=true 使用docker内部网络,分配ip,参考docker创建网

    2024年02月15日
    浏览(43)
  • 【微服务部署】一、使用docker-compose部署Jenkins、SonarQube、PostgreSQL

    一、安装 1、编写docker-compose部署Postgres、SonarQube、Jenkins的yml文件jenkins-compose.yml Postgres:作为SonarQube的数据库存储 SonarQube:代码质量检查 Jenkins:jenkins/jenkins:lts镜像,jenkinsci/blueocean镜像缺少node运行时环境,导致node无法运行。 关键配置说明( 宿主机 : Docker容器): /data/doc

    2024年02月09日
    浏览(38)
  • docker-compose部署Jenkins/neo4j脚本--持续更新

    如果出现权限不够:注意/usr/local/bin/docker-compose路径是否正确

    2024年02月19日
    浏览(41)
  • docker-compose deploy elasticsearch tls

    参考: https://www.elastic.co/guide/en/elastic-stack-get-started/7.9/get-started-docker.html https://www.elastic.co/guide/en/elasticsearch/reference/7.17/configuring-tls-docker.html#_run_the_example

    2024年02月16日
    浏览(45)
  • 【docker系列】docker-compose安装elasticsearch和kibana

    大家好,我是walker 一个从文科自学转行的程序员~ 爱好编程,偶尔写写编程文章和生活 欢迎关注公众号【 I am Walker 】,回复“电子书”,就可以获得200多本编程相关电子书哈~ 我的gitee:https://gitee.com/shen-chuhao/walker.git 里面很多技术案例! (1)、 [root@localhost docker]# mkdir es (

    2023年04月08日
    浏览(60)
  • docker-compose deploy 高可用 elasticsearch TLS

    测试 修改 docker-compose.yaml 重启 清理容器卷 参考: Running the Elastic Stack on Docker Encrypting communications in an Elasticsearch Docker Containere

    2024年02月08日
    浏览(52)
  • Docker-compose安装mysql

    本系列文章主要介绍使用docker-compose部署mysql,nginx,redis等中间件,前后分离微服务项目部署流程。不介绍docker安装以及基础命令,话不多说首先进入mysql安装教学。 首先创建个目录用来存放docker-compse文件以及mysql数据存放地址 docker-compose文件如下

    2023年04月25日
    浏览(41)
  • docker-compose部署mysql

    docker-compose 虽然docker部署环境比自己下载安装包要方便不少,但是docker的命令还有挂载目录在每次启动容器的时候都去找命令对使用者是很不友好的,而且有时候要启动多个容器的时候显然一个个的启动是很麻烦的。所以如果可以事先将\\\"启动脚本\\\"写好的话,之后就算虚拟机

    2024年02月02日
    浏览(42)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包