欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

docker中間件部署超詳細步驟

 更新時間:2025年03月28日 09:01:56   作者:java資料站  
docker是現(xiàn)在很火的一項容器技術(shù),能夠幫助來部署我們來快速部署各類環(huán)境,這篇文章主要介紹了docker中間件部署的相關(guān)資料,文中通過代碼介紹的非常詳細,需要的朋友可以參考下

1.docker安裝

# 1.卸載舊版本
yum remove docker \
                  docker-client \
                  docker-client-latest \
                  docker-common \
                  docker-latest \
                  docker-latest-logrotate \
                  docker-logrotate \
                  docker-engine
                  
# 2.需要的安裝包
yum install -y yum-utils

# 3.設(shè)置鏡像的倉庫
# 3.1.默認是國外的,不推薦
yum-config-manager \ 
	--add-repo \ 	
	https://download.docker.com/linux/centos/docker-ce.repo
# 3.2.推薦使用國內(nèi)的	(這里手敲代碼然后復(fù)制網(wǎng)站)
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo    

# 4.更新yum軟件包索引 
yum makecache fast

# 5.安裝docker docker-ce 社區(qū)版 ee 是企業(yè)版
yum install docker-ce docker-ce-cli containerd.io

# 6、啟動docker
systemctl start docker

# 7、使用 docker version 查看是否安裝成功
docker version

2. 環(huán)境安裝

mysql

docker run \
--name mysql2 \
-d \
-p 330:3306 \
--restart unless-stopped \
-v /home/mysql/log:/var/log/mysql \
-v /home/mysql/data:/var/lib/mysql \
-v /home/mysql/conf/my.cnf:/etc/mysql/my.cnf \
-e TZ=Asia/Shanghai \
-e MYSQL_ROOT_PASSWORD=asd123123 mysql:5.7.38


docker run \
    -p 3306:3306 \
    --restart unless-stopped \
    -e MYSQL_ROOT_PASSWORD=aejkgixgds245safafg \
    -v /home/data/mysql/data:/var/lib/mysql:rw \
    -v /usr/local/mysql:/etc/mysql/conf.d \
    --privileged=true \
    --name mysqlname \
    --restart=always \
    -d mysql:8.0 --lower_case_table_names=1

redis

docker run --restart=always --log-opt max-size=100m --log-opt max-file=2 -p 6379:6379 --name myredis -v /data/middleware/redis/myredis.conf:/etc/redis/redis.conf -v /data/middleware/redis/data:/data -d  redis:5.0 /etc/redis/redis.conf  --appendonly yes  --requirepass fdshgjethr154@

nacos

docker run  -d -p 8848:8848 -p 9848:9848 --restart always  -e MODE=standalone  -v/data/middleware/nacos/application.properties:/data/middleware/nacos/conf/application.properties -v /data/middleware/nacos/logs:/home/nacos/logs \nacos/nacos-server:v2.2.3

注意:正確的開啟鑒權(quán)做法是怎樣呢?1.回到第四步運行最終Nacos容器開啟的那個容器,進入Nacos容器內(nèi)部

docker exec -it nacos bash

2.修改conf下面的配置文件

cd conf
vim application.properties

如圖所示:修改三行,新增2行。

新增的兩行:

##新增兩行
nacos.core.auth.enabled=true
nacos.core.auth.enable.userAgentAuthWhite=false

修改的三行

nacos.core.auth.plugin.nacos.token.secret.key=${NACOS_AUTH_TOKEN:SecretKey01234567890123456789012345345678999987654901234567890123456789}
nacos.core.auth.server.identity.key=${NACOS_AUTH_IDENTITY_KEY:admin}
nacos.core.auth.server.identity.value=${NACOS_AUTH_IDENTITY_VALUE:admin}
或者
nacos.core.auth.plugin.nacos.token.secret.key=01234567890123456789012345345678999987654901234567890123456789
nacos.core.auth.server.identity.key=nacos
nacos.core.auth.server.identity.value=nacos

nginx

# 生成容器
docker run --name nginx -p 9001:80 -d nginx
# 將容器nginx.conf文件復(fù)制到宿主機
docker cp nginx:/etc/nginx/nginx.conf /home/nginx/conf/nginx.conf
# 將容器conf.d文件夾下內(nèi)容復(fù)制到宿主機
docker cp nginx:/etc/nginx/conf.d /home/nginx/conf/conf.d
# 將容器中的html文件夾復(fù)制到宿主機
docker cp nginx:/usr/share/nginx/html /home/nginx/
    
# 直接執(zhí)行docker rm nginx或者以容器id方式關(guān)閉容器
# 找到nginx對應(yīng)的容器id
docker ps -a
# 關(guān)閉該容器
docker stop nginx
# 刪除該容器
docker rm nginx
 
# 刪除正在運行的nginx容器
docker rm -f nginx

docker run \
--name ng \
-p 80:80 \
-v /home/nginx/conf/nginx.conf:/etc/nginx/nginx.conf \
-v /home/nginx/conf/conf.d:/etc/nginx/conf.d \
-v /home/nginx/log:/var/log/nginx \
-v /home/nginx/html:/usr/share/nginx/html \
-d nginx:latest

注意:得先存在conf.d和nginx.conf
docker run   \
  --name ng \
  -p 80:80 -p 443:443  \
  --restart unless-stopped  \
  -v /data/middleware/nginx/conf.d:/etc/nginx/conf.d   \
  -v /data/middleware/nginx/nginx.conf:/etc/nginx/nginx.conf  \
  -v /data/app/web:/app nginx:latest

neo4j

docker run -d \
--name neo4j_main \
-p 7474:7474 \
-p 7687:7687 \
-v /home/neo4j/data:/data \
-v /home/neo4j/logs:/logs \
-v /home/neo4j/conf:/var/lib/neo4j/conf \
-v /home/neo4j/import:/var/lib/neo4j/import \
--env NEO4J_AUTH=neo4j/123456 \
neo4j:3.5.22-community

es

安裝es

chmod 777 /home/es/es-data/nodes

1.拉取鏡像

sudo docker pull elasticsearch:7.12.1

2.創(chuàng)建網(wǎng)絡(luò)

docker network create es-net

3.運行

docker run -d \
--name es \
-e "ES_JAVA_OPTS=-Xms216m -Xmx216m" \
-e "discovery.type=single-node" \
-v es-data:/usr/share/elasticsearch/data \
-v es-plugins:/usr/share/elasticsearch/plugins \
--privileged \
--network es-net \
-p 9200:9200 \
-p 9300:9300 \
elasticsearch:7.12.1
-e "cluster.name=es-docker-cluster":設(shè)置集群名稱

-e "http.host=0.0.0.0":監(jiān)聽的地址,可以外網(wǎng)訪問

-e "ES_JAVA_OPTS=-Xms512m -Xmx512m":內(nèi)存大小

-e "discovery.type=single-node":非集群模式

-v es-data:/usr/share/elasticsearch/data:掛載邏輯卷,綁定es的數(shù)據(jù)目錄

-v es-logs:/usr/share/elasticsearch/logs:掛載邏輯卷,綁定es的日志目錄

-v es-plugins:/usr/share/elasticsearch/plugins:掛載邏輯卷,綁定es的插件目錄

--privileged:授予邏輯卷訪問權(quán)

--network es-net :加入一個名為es-net的網(wǎng)絡(luò)中

-p 9200:9200:端口映射配置

安裝kibana

sudo docker pull kibana:7.12.1
docker run -d \
--name kibana \
-e ELASTICSEARCH_HOSTS=http://es:9200 \
--network=es-net \
-p 5601:5601 \
kibana:7.12.1

命令講解:

--network es-net :加入一個名為es-net的網(wǎng)絡(luò)中,與elasticsearch在同一個網(wǎng)絡(luò)中
-e ELASTICSEARCH_HOSTS=http://es:9200":設(shè)置elasticsearch的地址,因為kibana已經(jīng)與elasticsearch在一個網(wǎng)絡(luò),因此可以用容器名直接訪問elasticsearch
-p 5601:5601:端口映射配置

安裝ik分詞器

IK分詞器包含兩種模式:

●ik_ smart:最少切分

●ik max_ _word:最細切分

# 進入容器內(nèi)部
docker exec -it elasticsearch /bin/bash

# 在線下載并安裝
./bin/elasticsearch-plugin  install https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v7.12.1/elasticsearch-analysis-ik-7.12.1.zip

#退出
exit
#重啟容器
docker restart elasticsearch

mogodb

--restart=always \
--name mongo \
-e MONGO_INITDB_ROOT_USERNAME=root  \
-e MONGO_INITDB_ROOT_PASSWORD=asd123  \
-v /home/mongo/data:/data/db \
-v /home/mongo/conf:/data/configdb \
-v /home/mongo/logs:/data/log \
-v /home/mongo/tmp:/tmp  \
-p 2017:27017 \
mongo:latest 

minio

docker run --privileged=true -d -it \
-p 9111:9111 -p 9000:9000 \
--name minio-a11   \
-v /opt/minio/data:/data \
-v /opt/minio/config:/root/.minio \
-e "MINIO_ROOT_USER=minio" \
-e "MINIO_ROOT_PASSWORD=minio123etge"   \
minio/minio server /data \
--console-address ":9111" 

jenkins

docker run -d --restart=always --name jenkins -uroot -p 8080:8080 -p 50000:50000 -v /home/docker/jenkins:/var/jenkins_home -v /var/run/docker.sock:/var/run/docker.sock -v /usr/bin/docker:/usr/bin/docker jenkins/jenkins:lts

rabbitmq

docker run -d --name rabbitmq01 \
-p 5672:5672 -p 15672:15672 \
-v /app/rabbitmq:/var/lib/rabbitmq --hostname localhost \
-e RABBITMQ_DEFAULT_VHOST=localhost  \
-e RABBITMQ_DEFAULT_USER=root \
-e RABBITMQ_DEFAULT_PASS=root \
-v /etc/localtime:/etc/localtime:ro \
rabbitmq:3.8-management

docker-compose安裝環(huán)境

compose安裝

curl -SL https://github.com/docker/compose/releases/download/v2.16.0/docker-compose-linux-x86_64 -o /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose
docker-compose --version
如果遇到容器權(quán)限問題
sudo chown -R 1001:1001 /data/kafka-data
version: '3'
networks:
  mynet:
    ipam:
     #  driver: bridge
      config:
        - subnet: 162.18.0.0/16
services:
  mysql: # 服務(wù)名稱
    image: mysql:8.0.18 # 或其它mysql版本
    container_name: mysql8 # 容器名稱
    environment:
      - MYSQL_ROOT_PASSWORD=123456 # root用戶密碼
      - TZ=Asia/Shanghai # 設(shè)置容器時區(qū) 我這里通過下面掛載方式同步的宿主機時區(qū)和時間了,這里忽略
    volumes:
      - /data/middleware/mysql8/log:/var/log/mysql # 映射日志目錄,宿主機:容器
      - /data/middleware/mysql8/data:/var/lib/mysql # 映射數(shù)據(jù)目錄,宿主機:容器
      - /data/middleware/mysql8/conf.d:/etc/mysql/conf.d # 映射配置目錄,宿主機:容器。
    ports:
      - 3306:3306 # 指定宿主機端口與容器端口映射關(guān)系,宿主機:容器
    restart: always # 容器隨docker啟動自啟
    networks:
      - mynet

  redis:
    image: redis:latest
    container_name: redis
    restart: always
    ports:
      - '6379:6379'
    volumes:
      - /data/middleware/redis/data:/data
      - /data/middleware/redis/redis.conf:/usr/local/etc/redis/redis.conf
      - /data/middleware/redis/logs:/logs
    #配置文件啟動
    command: redis-server /usr/local/etc/redis/redis.conf
    networks:
      - mynet
      
  minio:
    image: minio/minio
    hostname: "minio"
    ports:
      - 9000:9000 # api 端口
      - 9001:9001 # 控制臺端口
    environment:
      MINIO_ACCESS_KEY: admin    #管理后臺用戶名
      MINIO_SECRET_KEY: admin123 #管理后臺密碼,最小8個字符
    volumes:
      - /data/middleware/minio/data:/data               #映射當前目錄下的data目錄至容器內(nèi)/data目錄
      - /data/middleware/minio/config:/root/.minio/     #映射配置目錄
    command: server --console-address ':9001' /data  #指定容器中的目錄 /data
    privileged: true
    restart: always
    networks:
      - mynet
      
  nacos:
    image: nacos/nacos-server:2.0.3
    container_name: nacos
    environment:
      MODE: standalone
      MYSQL_SERVICE_HOST: hostname
      MYSQL_SERVICE_DB_NAME: nacos
      MYSQL_SERVICE_USER: nacos
      MYSQL_SERVICE_PASSWORD: nacos
    ports:
      - "8848:8848"
    volumes:
      - /data/middleware/nacos/init.d/custom.properties:/home/nacos/init.d/custom.properties
    restart: always
    networks:
      - mynet

  rabbitmq:
    image: "rabbitmq:3.13.6-management"
    restart: always
    privileged: true
    ports:
      - "35672:5672"     # RabbitMQ standard port
      - "45672:15672"    # RabbitMQ management plugin port
    container_name: rabbitmq
    hostname: rabbitmq
    environment:
      - RABBITMQ_ERLANG_COOKIE=secret_cookie    # Set a custom Erlang cookie for clustering
      - RABBITMQ_DEFAULT_USER=admin             # Set RabbitMQ admin user
      - RABBITMQ_DEFAULT_PASS=_admin123         # Set RabbitMQ admin password
    networks:
      - mynet
    volumes:
      - /data/middleware/rabbitmq/storage:/var/lib/rabbitmq

  postgres:
    image: postgres:13.1
    healthcheck:
      test: [ "CMD", "pg_isready", "-q", "-d", "postgres", "-U", "root" ]
      timeout: 45s
      interval: 10s
      retries: 10
    restart: always
    environment:
      - POSTGRES_USER=root
      - POSTGRES_PASSWORD=password
      - APP_DB_USER=docker
      - APP_DB_PASS=docker
      - APP_DB_NAME=docker
    volumes:
      - /data/middleware/pg/db:/docker-entrypoint-initdb.d/
    ports:
      - 5432:5432
    networks:
      - mynet
      

  mongodb:
    image: mongo:4.4
    container_name: mongodb
    restart: always
    environment:
      - TZ=Asia/Shanghai
      - MONGO_INITDB_DATABASE=demo
      - MONGO_INITDB_ROOT_USERNAME=demo
      - MONGO_INITDB_ROOT_PASSWORD=demo2023
    ports:
      - "6383:27017"
    volumes:
      - /data/middleware/mongodb/data:/data/db
      - /data/middleware/mongodb/logs:/data/logs
      - /data/middleware/mongodb/config:/data/configdb
    networks:
      - mynet

  jenkins:
    # 這里的版本號,使用從官網(wǎng)上查看的最新 LTS 版本號
    image: jenkins/jenkins:2.440.1
    container_name: jenkins
    privileged: true
    restart: always
    ports:
      # web訪問端口
      - "8066:8080"
      # 基于JNLP的Jenkins代理端口
      - "50000:50000"
    volumes:
      # jenkins的數(shù)據(jù)和配置文件目錄映射
      - /data/middleware/jenkins/data:/var/jenkins_home
      # 將外部的jdk目錄映射到容器內(nèi)部
      - /data/middleware/jenkins/jdk:/app/jdk
      # 將外部的maven目錄映射到容器內(nèi)部
      - /data/middleware/jenkins/maven:/app/maven
    networks:
      - mynet

  nginx:
    image: nginx:1.23-alpine
    container_name: production_nginx
    ports:
      - "80:80"
      - "443:443"
    volumes:
      - /data/middleware/nginx/config/nginx.conf:/etc/nginx/nginx.conf:ro
      - /data/middleware/nginx/config/conf.d:/etc/nginx/conf.d
      - /data/middleware/nginx/html:/usr/share/nginx/html
      - /data/middleware/nginx/logs:/var/log/nginx
      # - ./certs:/etc/ssl/certs
    environment:
      - TZ=Asia/Shanghai
      - NGINX_ENVSUBST_OUTPUT_DIR=/etc/nginx/conf.d
    networks:
      - mynet

  zookeeper:
    image: docker.io/bitnami/zookeeper:3.8
    container_name: zookeeper_1
    ports:
      - "2181:2181"
    volumes:
      - /data/middleware/zookeeper_1:/bitnami/zookeeper #持久化數(shù)據(jù)
    environment:
      - TZ=Asia/Shanghai
      - ALLOW_ANONYMOUS_LOGIN=yes
    networks:
      - mynet
      
  kafka:
    restart: always
    image: docker.io/bitnami/kafka:3.4
    container_name: kafka_1
    ports:
      - "9004:9004"
    volumes:
      - /data/middleware/kafka_1:/bitnami/kafka #持久化數(shù)據(jù)
    environment: 
      - TZ=Asia/Shanghai - KAFKA_BROKER_ID=1 
      - KAFKA_CFG_LISTENERS=PLAINTEXT://:9004
      - KAFKA_CFG_ADVERTISED_LISTENERS=PLAINTEXT://192.168.1.42:9004 #替換成你自己的IP
      - KAFKA_CFG_ZOOKEEPER_CONNECT=zookeeper:2181 
      - ALLOW_PLAINTEXT_LISTENER=yes 
    depends_on: 
      - zookeeper
    networks:
      - mynet

redis.conf

port 6379
bind 0.0.0.0
requirepass xj2023
daemonize no
loglevel notice
logfile ""
databases 16
appendonly no
save 900 1
save 300 10
save 60 10000

nginx.conf

user  nginx;
worker_processes  auto;

error_log  /var/log/nginx/error.log notice;
pid        /var/run/nginx.pid;


events {
    worker_connections  1024;
}


http {
    include       /etc/nginx/mime.types;
    default_type  application/octet-stream;

    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"';

    access_log  /var/log/nginx/access.log  main;

    sendfile        on;
    #tcp_nopush     on;

    keepalive_timeout  65;

    #gzip  on;

    include /etc/nginx/conf.d/*.conf;
}

detault.conf

server {
    listen       80;
    listen  [::]:80;
    server_name  localhost;

    #access_log  /var/log/nginx/host.access.log  main;

    location / {
        root   /usr/share/nginx/html;
        index  index.html index.htm;
    }

    #error_page  404              /404.html;

    # redirect server error pages to the static page /50x.html
    #
    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   /usr/share/nginx/html;
    }

    # proxy the PHP scripts to Apache listening on 127.0.0.1:80
    #
    #location ~ \.php$ {
    #    proxy_pass   http://127.0.0.1;
    #}

    # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
    #
    #location ~ \.php$ {
    #    root           html;
    #    fastcgi_pass   127.0.0.1:9000;
    #    fastcgi_index  index.php;
    #    fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;
    #    include        fastcgi_params;
    #}

    # deny access to .htaccess files, if Apache's document root
    # concurs with nginx's one
    #
    #location ~ /\.ht {
    #    deny  all;
    #}
}

總結(jié) 

到此這篇關(guān)于docker中間件部署超詳細步驟的文章就介紹到這了,更多相關(guān)docker中間件部署內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 基于Docker的PHP調(diào)用基于Docker的Mysql數(shù)據(jù)庫

    基于Docker的PHP調(diào)用基于Docker的Mysql數(shù)據(jù)庫

    Docker 是一個開源的應(yīng)用容器引擎,自從接觸docker以來,一直想建立基于Docker的PHP調(diào)用基于Docker的Mysql數(shù)據(jù)庫,下面通過本文給大家介紹下,感興趣的朋友參考下
    2016-11-11
  • docker 部署 Elasticsearch kibana及ik分詞器詳解

    docker 部署 Elasticsearch kibana及ik分詞器詳解

    這篇文章主要介紹了docker 部署 Elasticsearch kibana及ik分詞器詳解,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-05-05
  • docker save和docker load的具體使用

    docker save和docker load的具體使用

    本文詳細介紹了docker save和docker load命令的使用方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2024-11-11
  • docker-compose build使用參數(shù)args方式

    docker-compose build使用參數(shù)args方式

    這篇文章主要介紹了docker-compose build使用參數(shù)args方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-01-01
  • Docker安裝寶塔面板的實現(xiàn)

    Docker安裝寶塔面板的實現(xiàn)

    本文主要介紹了Docker安裝寶塔面板的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2023-08-08
  • 使用Docker安裝phabricator的配置和使用方法

    使用Docker安裝phabricator的配置和使用方法

    今天小編就為大家分享一篇關(guān)于使用Docker安裝phabricator的配置和使用方法的文章,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2018-10-10
  • 一些常見的精簡Docker?file規(guī)則總結(jié)

    一些常見的精簡Docker?file規(guī)則總結(jié)

    這篇文章主要介紹了一些常見的精簡Docker?file規(guī)則的相關(guān)資料,這些精簡規(guī)則有助于優(yōu)化Dockerfile,生成更高效、簡潔的鏡像,文中通過代碼介紹的非常詳細,需要的朋友可以參考下
    2024-11-11
  • 使用docker安裝elk的詳細步驟

    使用docker安裝elk的詳細步驟

    這篇文章主要介紹了使用docker安裝elk,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-08-08
  • docker安裝Adminer并支持mysql和mongodb的詳細步驟

    docker安裝Adminer并支持mysql和mongodb的詳細步驟

    這篇文章主要介紹了docker安裝Adminer并支持mysql和mongodb,通過查找并拉取Adminer鏡像,啟動docker,支持mysq,本文分步驟給大家詳細講解,需要的朋友可以參考下
    2022-10-10
  • 基于Docker搭建Redis主從集群的實現(xiàn)

    基于Docker搭建Redis主從集群的實現(xiàn)

    本文基于Docker+Redis5.0.5版本,通過cluster方式創(chuàng)建一個6個redis實例的主從集群,需要的朋友們下面隨著小編來一起學習學習吧
    2021-05-05

最新評論