上海古都建筑设计集团,上海办公室装修设计公司,上海装修公司高质量的内容分享社区,上海装修公司我们不是内容生产者,我们只是上海办公室装修设计公司内容的搬运工平台

基于docker-compose安装nacos、redis、mysql、rabbitmq、pgsql,并且上传自己的项目到portainer

guduadmin113小时前

目录

一、Linux环境配置

二、Docker、docker-compose

1、docker安装

2、Docker-Compose 安装

   1、基于docker-compose安装nacos、redis、mysql、rabbitmq、pgsql

   2、执行命令

3、配置openjdk:8

4、配置自己的项目

5、nacos无默认密码问题

一、Linux环境配置

1、配置静态IP

wondows+r,输入cmd——》ipconfig

基于docker-compose安装nacos、redis、mysql、rabbitmq、pgsql,并且上传自己的项目到portainer,第1张

 Linux上输入cd /etc/sysconfig/network-scripts,然后vi ifcfg-ens33 

基于docker-compose安装nacos、redis、mysql、rabbitmq、pgsql,并且上传自己的项目到portainer,第2张

 然后,重启网络 service network restart

 基于docker-compose安装nacos、redis、mysql、rabbitmq、pgsql,并且上传自己的项目到portainer,第3张

2、配置yum源

1.先安装 wget
yum install wget -y
2.备份旧的 yum源
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo_bak
3.获取阿里yum源配置文件
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
4.更新缓存 
yum makecache
5. 查看
yum -y update

3、查询端口号占用情况

# 想使用指定的命令需要事先下载netstat
yum -y install net-tools
# 查看端口号占用情况
netstat -naop | grep 端口号
# 强制关闭某个进程,不要随意使用
kill -9 进程id

4、解压缩

tail [-f] 文件名:查看实时文件内容,主要用来查看日志内容

        需要按下control+c结束命令

    tar [-zxcvf] 压缩文件名 目录:生成压缩文件或者是解码

        tar -zcvf a.tar.gz a:把目录a生成压缩文件

        tar -zxvf a.tar.gz :解压到当前目录

        解释参数:

        z:压缩文件 .tar.gz,不能省略

        c:生成,和x对立

        v:过程,显示生成过程或者压缩过程,可以省略

        x:解压,和c对立

        f:文件,压缩文件名,不能省略

        

        解压的通用命令:

        tar -zxvf 压缩文件名.tar.gz :解压文件

        压缩的通用命令:

        tar -zcvf 压缩文件名.tar.gz 对应目录:生成压缩文件

5、基于Linux搭建环境

待更新.............

二、Docker、docker-compose

1、docker安装

Docker的核心概念:

        1.镜像(image):一堆软件的集合,Docker中的镜像,会包含软件安装包本身,还有依赖的其他软件安装包

            比如:Tomcat镜像=Tomcat软件的安装包+JDK安装包+JDK自动配置

        2.容器(container):通过镜像安装之后的东西,软件

        3.数据卷(Data Volumes):磁盘,虚拟的

        4.网络(Network):网络,每个容器都有自己的ip和端口

        5.仓库(Repository):存储镜像的地方

    1、下载docker引擎

         curl -sSL https://get.daocloud.io/docker | sh

·   2、验证是否安装成功

        docker version

    3、操作Docker

        启动服务

        systemctl start docker

        停止服务

        systemctl stop docker

        重启服务

        systemctl restart docker

        查看服务状态

        systemctl status docker

注意: Docker下载的镜像,默认是从国外服务器下载慢,所以实际中配置镜像加速器

    配置步骤:
     1、新增docker配置

    vim /etc/docker/daemon.json 

    输入以下内容:

    {

        "registry-mirrors": [

            "https://registry.docker-cn.com"]

    }

    2、重新加载配置

    systemctl daemon-reload
    3、重启Docker服务

    systemctl restart docker

    4、Docker命令

    docker images:查看服务器的镜像文件

    docker search 镜像名称:搜索仓库是否存在指定的镜像

    docker pull 镜像名称:版本号:下载镜像,版本号可以省略,省略的话就是:latest

    docker ps:查看运行的容器

    docker ps -a:查看安装的所有容器

    docker inspect 容器名称:查看容器详情

    docker logs 容器名称:查看容器的运行日志

    docker start 容器名称:启动容器

    docker restart 容器名称:重新启动容器

    docker stop 容器名称:停止容器

    docker run:最常用的命令,创建并运行容器,如果对应镜像的不存在还会下载镜像

    docker rm 容器名称:删除容器,但是容器必须停止

    docker rmi 镜像名称:版本号:删除镜像

    docker exec -it 容器名称 bash:进入到容器内部,虚拟机

    docker system df:查看Docker所占磁盘

    docker system prune:只删除停止的容器和没有版本的镜像

    docker system prune -a:删除所有的停止的容器和镜像

   5、基于Docker安装Tomcat

        1.创建映射路径

          mkdir -p /docker/tomcat/webapp8081

        2.创建并运行Tomcat容器

          docker run -d --name tomcat8081 -p 8081:8080 -v               /docker/tomcat/webapp8081:/usr/local/tomcat/webapps/ tomcat:9.0.33

       3.查看是否安装成功

docker ps

  6、基于Docker安装Mysql

docker run -d --name  mysql3306 -e MYSQL_ROOT_PASSWORD=123456 -p 3306:3306 mysql:5.7

  7、基于Docker安装nacos

  8、基于Docker安装RabbitMQ 

创建并运行:

docker run -d --name rabbitmq  -p15672:15672 -p 5672:5672 rabbitmq:management

注意:

15672:15672——>url地址

5672:5672——>yml配置端口

rabbitmq:management——>镜像

2、Docker-Compose 安装

1、下载

sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

2、授权

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

3、软连接

sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose

4、测试

docker-compose -version

1、基于docker-compose安装nacos、redis、mysql、rabbitmq、pgsql

  1. 创建docker-compose.yml文件,用于存储安装信息
version: "3.9"
services:
  nacos:
    image: nacos/nacos-server:v2.0.4
    container_name: nacos-standalone-mysql
    environment:
      - PREFER_HOST_MODE=ip
      - MODE=standalone
      - SPRING_DATASOURCE_PLATFORM=mysql
      - MYSQL_SERVICE_HOST=mysql
      - MYSQL_SERVICE_DB_NAME=nacos
      - MYSQL_SERVICE_PORT=3306
      - MYSQL_SERVICE_USER=root
      - MYSQL_SERVICE_PASSWORD=paswword
      - MYSQL_SERVICE_DB_PARAM=characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useSSL=false
      - NACOS_AUTH_ENABLE=true
      - JVM_XMS=512m
      - JVM_XMX=512m
      - JVM_XMN=256m
    volumes:
      - /opt/env/nacos/logs/:/home/nacos/logs
      - /opt/env/nacos/init.d/custom.properties:/home/nacos/init.d/custom.properties
    depends_on:
      - mysql    
    ports:
      - 18848:8848
      - 19848:9848
    networks: 
      - app-tier
    restart: always
  postgres:
    container_name: postgres
    image: postgres:11.15
    privileged: true
    ports:
      - 15432:5432
    environment:
      - POSTGRES_PASSWORD=password
      - TZ=Asia/Shanghai
    volumes:
      - /opt/env/postgres/data:/var/lib/postgresql/data
    networks:
      - app-tier
    restart: always
  redis:
    image: redis:6.2.6
    container_name: redis
    environment:
      - TZ=Asia/Shanghai
      - requirepass=password
    ports:
      - 16379:6379
    command: ["redis-server","/etc/redis/conf/redis.conf"]
    volumes:
      - /opt/env/redis/conf:/etc/redis/conf
      - /opt/env/redis/data:/data
    networks:
      - app-tier
    restart: always
    
  rabbitmq:
    image: rabbitmq:3.9.14-management
    hostname: rabbitmq
    container_name: rabbitmq
    ports:
      - 15672:5672
      - 15673:15672
    environment:
      - RABBITMQ_DEFAULT_USER=user
      - RABBITMQ_DEFAULT_PASS=password
    volumes:
      - /opt/env/rabbitmq/data:/var/lib/rabbitmq/mnesia
      - /opt/env/rabbitmq/config/rabbitmq.conf:/etc/rabbitmq/rabbitmq.conf
    networks:
      - app-tier
    restart: always
  
  o:
    image: bitnami/minio:2022.4.1
    container_name: minio
    environment:
      - MINIO_SERVER_HOST=minio
      - MINIO_ROOT_USER=user
      - MINIO_ROOT_PASSWORD=password
    volumes:
      - /opt/env/minio/data:/data
    ports:
      - 19000:9000
      - 19001:9001
    networks:
      - app-tier
    restart: always
  zipkin:
    image: openzipkin/zipkin:2.23
    container_name: zipkin
    environment:
      - STORAGE_TYPE=mysql
      - MYSQL_DB=zipkin
      - MYSQL_USER=root
      - MYSQL_PASS=password
      - MYSQL_HOST=mysql
      - MYSQL_TCP_PORT=3306
    ports:
      - 19411:9411
    depends_on:
      - mysql
    networks:
      - app-tier
    restart: always
  
  zipkin-dependencies:
    image: openzipkin/zipkin-dependencies:2
    container_name: zipkin-dependencies
    entrypoint: crond -f
    environment:
      - STORAGE_TYPE=mysql
      - MYSQL_DB=zipkin
      - MYSQL_USER=root
      - MYSQL_PASS=password
      - MYSQL_HOST=mysql
      - MYSQL_TCP_PORT=3306
    depends_on:
      - mysql
    networks:
      - app-tier
    restart: always
  mysql:
    image: mysql:5.7.37
    container_name: mysql
    environment:
      - MYSQL_ROOT_PASSWORD=password
      - TZ=Asia/Shanghai
    command: --default-authentication-plugin=mysql_native_password
    volumes:
      - /opt/env/mysql/data:/var/lib/mysql
      - /opt/env/mysql/logs:/var/log/mysql
      - /opt/env/mysql/init:/docker-entrypoint-initdb.d/
      - /opt/env/mysql/config/my.cnf:/etc/my.cnf
    ports:
      - 13306:3306
    networks:
      - app-tier
    restart: always
  portainer:
    image: portainer/portainer-ce:2.13.0
    container_name: portainer
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
      - /opt/env/portainer/data:/data
    ports:
      - 18000:8000
      - 19443:9443
    networks:
      - app-tier
    restart: always
  nginx:
    image: nginx:1.22.0
    container_name: nginx
    environment:
      - TZ=Asia/Shanghai
    volumes:
      - /opt/env/nginx/templates:/etc/nginx/templates
    ports:
      - 80:80
      - 443:443
    networks:
      - app-tier
    restart: always
networks:
  app-tier:
    name: app-tier
    driver: bridge

 注意:不要忘记创建主机上的映射目录及配置文件

1、custom.properties配置文件(nacos)

官方配置nacso手册:

控制台手册

spring.security.enabled=true
management.security=true
security.basic.enabled=true
# 忽略的资源配置
nacos.security.ignore.urls=/,/**/*.css,/**/*.js,/**/*.html,/**/*.map,/**/*.svg,/**/*.png,/**/*.ico,/console-fe/public/**,/v1/auth/login,/v1/console/health/**,/v1/cs/**,/v1/ns/**,/v1/cmdb/**,/actuator/**,/v1/console/server/**

2、rabbitmq.conf配置文件

loopback_users.guest = false
listeners.tcp.default = 5672
default_user_tags.administrator = true
default_permissions.configure = .*
default_permissions.read = .*
default_permissions.write = .*
hipe_compile = false
management.listener.port = 15672
management.listener.ssl = false

3、my.cnf配置文件(mysql)

[mysqld]
user=mysql
default-storage-engine=INNODB
character-set-server=utf8
[client]
default-character-set=utf8
[mysql]
default-character-set=utf8

4、redis.conf配置文件

bind 0.0.0.0
port 6379
tcp-backlog 511
timeout 0
tcp-keepalive 0
protected-mode no
databases 16
requirepass redis@123

   2、执行命令

docker-compose -f /usr/local/xxxx.yml up -d

此处基础环境配置完成。

   3、配置openjdk:8

执行命令,拉取镜像

 docker pull openjdk:8

    4、配置自己的项目

        1、生成的镜像

基于docker-compose安装nacos、redis、mysql、rabbitmq、pgsql,并且上传自己的项目到portainer,第4张

         2、创建容器

基于docker-compose安装nacos、redis、mysql、rabbitmq、pgsql,并且上传自己的项目到portainer,第5张

个人补充:

1、对于nacos这些容器的配置文件,需要进入到容器内部进行查看,操作:docker exec -it nacos bash

2、对于权限受阻问题:/opt/bitnami/scripts/libminio.sh: line 316: /data/.root_user: Permission denied或者连接不上mysql的情况

基本是因为本地映射文件权限不够高,请设置:chmod 777/755  xxx

3、服务器配置问题(配置过高,但资源不够):造成容器正常启动,但浏览器不能启动

5、nacos无默认密码问题

naocs官网上面有新增nacos密码介绍,链接:控制台手册 (nacos.io)

基于docker-compose安装nacos、redis、mysql、rabbitmq、pgsql,并且上传自己的项目到portainer,第6张

    

网友评论

搜索
最新文章
热门文章
热门标签