最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Docker 部署 RocketMQ 5.1.0 踩坑指南從超時(shí)到 Console 連不上的完整解決方案

 更新時(shí)間:2026年03月21日 09:44:12   作者:程序員Terry  
最近在項(xiàng)目中引入RocketMQ作為消息中間件,選擇使用Docker容器化部署以簡(jiǎn)化環(huán)境搭建,本文給大家介紹Docker 部署 RocketMQ 5.1.0 踩坑指南從超時(shí)到 Console 連不上的完整解決方案,感興趣的朋友跟隨小編一起看看吧

前言

最近在項(xiàng)目中引入 RocketMQ 作為消息中間件,選擇使用 Docker 容器化部署以簡(jiǎn)化環(huán)境搭建。本以為按照官方文檔幾條命令就能搞定,結(jié)果連續(xù)踩了兩個(gè)大坑:先是生產(chǎn)者發(fā)送消息超時(shí),修復(fù)后 Console 管理界面又連不上 Broker。

如果你也在用 Docker 部署 RocketMQ,或者正準(zhǔn)備搭建,希望這篇實(shí)錄能幫你避開我踩過的坑。

讀完本文,你將掌握:

  • RocketMQ 5.x Local 模式的正確部署方式
  • 生產(chǎn)者超時(shí)問題的根本原因與解決方案
  • Console 無法連接 Broker 的終極修復(fù)方法
  • 一套完整可用的 Docker Compose 配置

一、環(huán)境準(zhǔn)備

1.1 創(chuàng)建獨(dú)立網(wǎng)絡(luò)

RocketMQ 的 NameServer、Broker、Console 三個(gè)組件需要網(wǎng)絡(luò)互通,創(chuàng)建一個(gè)獨(dú)立的 Docker 網(wǎng)絡(luò)是最佳實(shí)踐:

# 創(chuàng)建 rocketmq 網(wǎng)絡(luò)
docker network create rocketmq
# 驗(yàn)證網(wǎng)絡(luò)創(chuàng)建成功
docker inspect rocketmq

為什么需要獨(dú)立網(wǎng)絡(luò)?

  • 容器間可以通過容器名直接通信(如 mqnamesrv:9876
  • 與宿主機(jī)網(wǎng)絡(luò)隔離,安全性更高
  • 便于統(tǒng)一管理網(wǎng)絡(luò)策略

1.2 拉取官方鏡像

docker pull apache/rocketmq:5.1.0

本文使用 RocketMQ 5.1.0 版本,這是目前較新的穩(wěn)定版本。5.x 引入了 Proxy 代理層,架構(gòu)與 4.x 有較大變化,后續(xù)會(huì)詳細(xì)說明。

1.3 目錄規(guī)劃

# NameServer 日志目錄
mkdir -p /usr/local/rocketmq/nameserver/logs
chmod 777 -R /usr/local/rocketmq/nameserver/*
# Broker 日志和配置目錄
mkdir -p /usr/local/rocketmq/broker/logs
mkdir -p /usr/local/rocketmq/broker/conf
chmod 777 -R /usr/local/rocketmq/broker/*

提示:使用 chmod 777 是為了讓容器內(nèi)的 rocketmq 用戶有寫入權(quán)限,生產(chǎn)環(huán)境建議通過用戶組管理權(quán)限。

二、標(biāo)準(zhǔn)部署流程

2.1 部署 NameServer

NameServer 是什么?

NameServer 是 RocketMQ 的輕量級(jí)路由注冊(cè)中心,類似于 Dubbo 的 Zookeeper,但更簡(jiǎn)單:

  • 無狀態(tài):節(jié)點(diǎn)之間不通信
  • Broker 管理:接收 Broker 注冊(cè),進(jìn)行心跳檢測(cè)
  • 路由管理:為 Producer 和 Consumer 提供路由信息
docker run -d --name mqnamesrv -p 9876:9876 --network rocketmq \
  -v /usr/local/rocketmq/nameserver/logs:/home/rocketmq/logs \
  -e "MAX_HEAP_SIZE=256M" \
  -e "HEAP_NEWSIZE=128M" \
  apache/rocketmq:5.1.0 sh mqnamesrv

驗(yàn)證啟動(dòng):

docker logs mqnamesrv

看到 The Name Server boot success 字樣即表示啟動(dòng)成功。

2.2 部署 Broker

Broker 與 Proxy 的關(guān)系

RocketMQ 5.x 引入了 Proxy 層,位于客戶端和 Broker 之間:

  • 4.x 架構(gòu):客戶端 → Broker
  • 5.x 架構(gòu):客戶端 → Proxy → Broker

Proxy 對(duì)外屏蔽了 NameServer、Broker 的概念,統(tǒng)一提供消息服務(wù)接口,同時(shí)支持多種協(xié)議(gRPC、HTTP 等)。

官方推薦使用 Local 模式部署,即 Broker 和 Proxy 同進(jìn)程運(yùn)行,減少網(wǎng)絡(luò)開銷。

docker run -d --name mqbroker -p 10911:10911 -p 10909:10909 --network rocketmq \
  -v /usr/local/rocketmq/broker/logs:/root/logs \
  -e "MAX_HEAP_SIZE=512M" \
  -e "HEAP_NEWSIZE=256M" \
  apache/rocketmq:5.1.0 sh mqbroker -n mqnamesrv:9876 --enable-proxy \
  autoCreateTopicEnable=true \
  -c /home/rocketmq/rocketmq-5.1.0/conf/broker.conf

端口說明:

  • 10911:Broker 對(duì)外服務(wù)端口
  • 10909:Broker HA(高可用)端口

驗(yàn)證啟動(dòng):

docker exec -it mqbroker bash -c "tail -n 10 /home/rocketmq/logs/rocketmqlogs/proxy.log"

2.3 部署 Console 管理界面

RocketMQ Console 是官方推薦的第三方管理工具,提供圖形化界面用于監(jiān)控消息堆積、消費(fèi)者狀態(tài)等。

docker run -d --name mqconsole -p 8098:8080 --network rocketmq \
  -e "JAVA_OPTS=-Xmx256M -Xms256M -Xmn128M \
  -Drocketmq.namesrv.addr=mqnamesrv:9876 \
  -Dcom.rocketmq.sendMessageWithVIPChannel=false" \
  styletang/rocketmq-console-ng

訪問 http://<宿主機(jī)IP>:8098 即可看到控制臺(tái)。

三、第一個(gè)坑:生產(chǎn)者發(fā)送超時(shí)

3.1 問題現(xiàn)象

按照上述步驟部署后,Console 能正常連接,一切看起來很美好。但在 Spring Boot 應(yīng)用中發(fā)送消息時(shí):

rocketMQTemplate.syncSend("hotel-booking-test-topic:TEST_TAG", "Hello RocketMQ");

報(bào)錯(cuò)信息:

org.apache.rocketmq.remoting.exception.RemotingTooMuchRequestException: sendDefaultImpl call timeout
	at org.apache.rocketmq.client.impl.producer.DefaultMQProducerImpl.sendDefaultImpl

3.2 根因分析

通過排查日志和網(wǎng)絡(luò),發(fā)現(xiàn)問題出在 Broker IP 注冊(cè)上:

問題鏈路:

  1. Broker 啟動(dòng)時(shí),向 NameServer 注冊(cè)自己的地址
  2. 默認(rèn)情況下,Broker 使用容器的內(nèi)部 IP(如 172.18.0.3)注冊(cè)
  3. 當(dāng)外部的生產(chǎn)者向 NameServer 查詢路由時(shí),得到的是容器 IP
  4. 生產(chǎn)者嘗試連接 172.18.0.3:10911,但這個(gè) IP 在宿主機(jī)網(wǎng)絡(luò)中不可達(dá)
  5. 連接超時(shí)!

網(wǎng)絡(luò)拓?fù)涫疽猓?/strong>

┌─────────────────┐
│  生產(chǎn)者(宿主機(jī))  │
└────────┬────────┘
         │ 查詢路由
         ↓
┌─────────────────┐
│  NameServer     │ → 返回 brokerIP=172.18.0.3
└─────────────────┘
         │
         │ 嘗試連接 172.18.0.3:10911 ? (不可達(dá))
         ↓
┌─────────────────┐
│ Broker 容器      │ 實(shí)際可訪問: 宿主機(jī)IP:10911
│ IP: 172.18.0.3  │
└─────────────────┘

3.3 解決方案:配置 brokerIP1

讓 Broker 向 NameServer 注冊(cè)時(shí),使用宿主機(jī) IP 而非容器 IP。

步驟一:創(chuàng)建配置文件

# 在宿主機(jī)創(chuàng)建配置文件
cat > /usr/local/rocketmq/broker/conf/broker.conf << 'EOF'
brokerIP1=你的宿主機(jī)IP
autoCreateTopicEnable=true
EOF

重要brokerIP1 必須配置為宿主機(jī)的實(shí)際 IP,不能是 127.0.0.1 或容器 IP。

步驟二:重新部署 Broker(掛載配置文件)

# 停止并刪除舊容器
docker stop mqbroker && docker rm mqbroker
# 重新運(yùn)行,掛載配置文件
docker run -d --name mqbroker \
  -p 10911:10911 -p 10909:10909 \
  --network rocketmq \
  -v /usr/local/rocketmq/broker/logs:/root/logs \
  -v /usr/local/rocketmq/broker/conf/broker.conf:/home/rocketmq/rocketmq-5.1.0/conf/broker.conf \
  -e "MAX_HEAP_SIZE=512M" \
  -e "HEAP_NEWSIZE=256M" \
  apache/rocketmq:5.1.0 sh mqbroker -n mqnamesrv:9876 \
  -c /home/rocketmq/rocketmq-5.1.0/conf/broker.conf

驗(yàn)證修復(fù):

# 查看 Console 中的 Broker 信息
# 應(yīng)該看到 brokerIP1 已經(jīng)顯示為宿主機(jī) IP

此時(shí),生產(chǎn)者應(yīng)該可以正常發(fā)送消息了!

四、第二個(gè)坑:Console 連不上 Broker

4.1 問題現(xiàn)象

修復(fù)了生產(chǎn)者超時(shí)問題后,你以為一切正常了,結(jié)果打開 Console…

Console 狀態(tài):

  • NameServer 連接正常 ?
  • Broker 列表為空 ?
  • 無法查看 Topic 和消息

Console 日志:

Error connecting to Broker: Connection refused

4.2 根因分析

這是一個(gè)典型的拆東墻補(bǔ)西墻問題:

配置 brokerIP1 前:

  • Console 在容器網(wǎng)絡(luò)內(nèi),可以通過容器名 mqbroker:10911 訪問 Broker ?
  • 外部生產(chǎn)者無法訪問 Broker ?

配置 brokerIP1 后:

  • 外部生產(chǎn)者通過宿主機(jī) IP 訪問 Broker ?
  • Console 仍然嘗試通過容器網(wǎng)絡(luò)訪問 mqbroker:10911,但 Broker 向 NameServer 注冊(cè)的地址是宿主機(jī) IP ?

網(wǎng)絡(luò)沖突示意:

┌─────────────────┐
│ Console 容器     │ → 訪問 mqbroker:10911 (容器網(wǎng)絡(luò))
└─────────────────┘
        │
        │ NameServer 返回: 宿主機(jī)IP:10911
        ↓
┌─────────────────┐
│ Broker 注冊(cè)地址  │ = 宿主機(jī)IP:10911
└─────────────────┘
        │
        │ Console 嘗試連接 宿主機(jī)IP:10911
        ↓
┌─────────────────┐
│ 網(wǎng)絡(luò)路由問題      │ 容器內(nèi)訪問宿主機(jī)IP需要特殊配置
└─────────────────┘

4.3 終極解決方案:Console 使用 host 網(wǎng)絡(luò)模式

讓 Console 容器直接使用宿主機(jī)的網(wǎng)絡(luò)棧,這樣它可以通過 127.0.0.1:10911 訪問 Broker(端口已映射到宿主機(jī))。

# 停止并刪除舊 Console
docker stop mqconsole && docker rm mqconsole
# 使用 host 網(wǎng)絡(luò)模式重新部署
docker run -d --name mqconsole --network host \
  -e "JAVA_OPTS=-Xmx256M -Xms256M -Xmn128M \
  -Drocketmq.namesrv.addr=127.0.0.1:9876 \
  -Dcom.rocketmq.sendMessageWithVIPChannel=false" \
  styletang/rocketmq-console-ng

為什么這樣能解決問題?

使用 --network host 后:

  • Console 容器不再有獨(dú)立的網(wǎng)絡(luò)命名空間
  • 直接使用宿主機(jī)的 IP 和端口
  • 訪問 127.0.0.1:9876127.0.0.1:10911 等同于訪問宿主機(jī)本地服務(wù)
  • NameServer 返回的 Broker 地址(宿主機(jī) IP)可以直接訪問

訪問 Console:

# 不再需要端口映射,直接訪問宿主機(jī)端口
# 假設(shè) Console 默認(rèn)端口是 8080
http://<宿主機(jī)IP>:8080

4.4 備用方案:本地路由轉(zhuǎn)發(fā)(不推薦)

如果不使用 host 網(wǎng)絡(luò)模式,也可以配置宿主機(jī)的路由規(guī)則,但配置較復(fù)雜:

# 啟用本地路由轉(zhuǎn)發(fā)
sysctl -w net.ipv4.conf.all.route_localnet=1
# 放通防火墻規(guī)則
iptables -I INPUT -d <宿主機(jī)IP> -p tcp --dport 10911 -j ACCEPT

建議:優(yōu)先使用 host 網(wǎng)絡(luò)模式,簡(jiǎn)單且不易出錯(cuò)。

五、完整可運(yùn)行配置

5.1 一鍵部署腳本

將以下腳本保存為 deploy-rocketmq.sh,修改 BROKER_IP 為你的宿主機(jī) IP 后執(zhí)行:

#!/bin/bash
# ========== 配置區(qū) ==========
BROKER_IP="192.168.1.100"  # 修改為你的宿主機(jī) IP
# ===========================
# 1. 創(chuàng)建網(wǎng)絡(luò)
docker network create rocketmq 2>/dev/null || echo "網(wǎng)絡(luò)已存在"
# 2. 創(chuàng)建目錄
mkdir -p /usr/local/rocketmq/nameserver/logs
mkdir -p /usr/local/rocketmq/broker/logs
mkdir -p /usr/local/rocketmq/broker/conf
chmod 777 -R /usr/local/rocketmq/*
# 3. 創(chuàng)建 Broker 配置文件
cat > /usr/local/rocketmq/broker/conf/broker.conf << EOF
brokerIP1=$BROKER_IP
autoCreateTopicEnable=true
namesrvAddr=mqnamesrv:9876
EOF
# 4. 啟動(dòng) NameServer
docker run -d --name mqnamesrv -p 9876:9876 --network rocketmq \
  -v /usr/local/rocketmq/nameserver/logs:/home/rocketmq/logs \
  -e "MAX_HEAP_SIZE=256M" \
  -e "HEAP_NEWSIZE=128M" \
  apache/rocketmq:5.1.0 sh mqnamesrv
# 等待 NameServer 啟動(dòng)
sleep 5
# 5. 啟動(dòng) Broker
docker run -d --name mqbroker \
  -p 10911:10911 -p 10909:10909 \
  --network rocketmq \
  -v /usr/local/rocketmq/broker/logs:/root/logs \
  -v /usr/local/rocketmq/broker/conf/broker.conf:/home/rocketmq/rocketmq-5.1.0/conf/broker.conf \
  -e "MAX_HEAP_SIZE=512M" \
  -e "HEAP_NEWSIZE=256M" \
  apache/rocketmq:5.1.0 sh mqbroker -n mqnamesrv:9876 \
  -c /home/rocketmq/rocketmq-5.1.0/conf/broker.conf
# 等待 Broker 啟動(dòng)
sleep 10
# 6. 啟動(dòng) Console(使用 host 網(wǎng)絡(luò))
docker run -d --name mqconsole --network host \
  -e "JAVA_OPTS=-Xmx256M -Xms256M -Xmn128M \
  -Drocketmq.namesrv.addr=127.0.0.1:9876 \
  -Dcom.rocketmq.sendMessageWithVIPChannel=false" \
  styletang/rocketmq-console-ng
echo "========== 部署完成 =========="
echo "NameServer: localhost:9876"
echo "Broker: $BROKER_IP:10911"
echo "Console: http://localhost:8080"
echo "============================"

5.2 Spring Boot 配置示例

# application.yml
rocketmq:
  name-server: localhost:9876
  producer:
    group: hotel-booking-producer-group
    send-message-timeout: 3000
    retry-times-when-send-failed: 2
// 發(fā)送消息示例
@Service
public class OrderService {
    @Autowired
    private RocketMQTemplate rocketMQTemplate;
    public void sendOrderMessage(Order order) {
        rocketMQTemplate.syncSend(
            "hotel-booking-test-topic:TEST_TAG",
            order,
            3000  // 超時(shí)時(shí)間 3 秒
        );
    }
}

5.3 驗(yàn)證命令清單

# 檢查容器狀態(tài)
docker ps -a | grep mq
# 查看 NameServer 日志
docker logs mqnamesrv
# 查看 Broker 日志
docker logs mqbroker
# 測(cè)試生產(chǎn)者連接
telnet <宿主機(jī)IP> 10911
# 查看 Console 中的 Broker 狀態(tài)
# 訪問 http://<宿主機(jī)IP>:8080,檢查 "Broker" 菜單

六、最佳實(shí)踐與避坑指南

6.1 生產(chǎn)環(huán)境建議

組件開發(fā)/測(cè)試環(huán)境生產(chǎn)環(huán)境
部署方式Docker 單機(jī)Docker Swarm / K8s 集群
NameServer1 個(gè)節(jié)點(diǎn)≥3 個(gè)節(jié)點(diǎn)(高可用)
Broker單 MasterMaster-Slave 組成集群
存儲(chǔ)映射宿主機(jī)目錄分布式存儲(chǔ) / PVC
JVM 內(nèi)存256M~512M≥4G(根據(jù)消息量調(diào)整)
監(jiān)控ConsolePrometheus + Grafana

6.2 常見錯(cuò)誤對(duì)照表

錯(cuò)誤信息可能原因解決方案
sendDefaultImpl call timeoutbrokerIP1 配置錯(cuò)誤配置為宿主機(jī) IP
Connection refused端口未映射或防火墻攔截檢查 -p 參數(shù)和防火墻規(guī)則
Console 無法連接 Broker網(wǎng)絡(luò)模式?jīng)_突Console 使用 --network host
No route info of this topicTopic 不存在啟用 autoCreateTopicEnable=true
Broker 啟動(dòng)失敗配置文件路徑錯(cuò)誤檢查 -c 參數(shù)和掛載路徑

6.3 Docker Compose 版本(推薦)

如果使用 Docker Compose,配置更簡(jiǎn)潔:

version: '3.8'
services:
  namesrv:
    image: apache/rocketmq:5.1.0
    container_name: mqnamesrv
    ports:
      - "9876:9876"
    environment:
      - MAX_HEAP_SIZE=256M
      - HEAP_NEWSIZE=128M
    networks:
      - rocketmq
    command: sh mqnamesrv
    volumes:
      - ./data/namesrv/logs:/home/rocketmq/logs
  broker:
    image: apache/rocketmq:5.1.0
    container_name: mqbroker
    ports:
      - "10911:10911"
      - "10909:10909"
    environment:
      - MAX_HEAP_SIZE=512M
      - HEAP_NEWSIZE=256M
    networks:
      - rocketmq
    command: sh mqbroker -n mqnamesrv:9876 -c /home/rocketmq/rocketmq-5.1.0/conf/broker.conf
    volumes:
      - ./data/broker/logs:/root/logs
      - ./data/broker/conf/broker.conf:/home/rocketmq/rocketmq-5.1.0/conf/broker.conf
    depends_on:
      - namesrv
  console:
    image: styletang/rocketmq-console-ng
    container_name: mqconsole
    network_mode: host
    environment:
      - JAVA_OPTS=-Xmx256M -Xms256M -Xmn128M -Drocketmq.namesrv.addr=127.0.0.1:9876 -Dcom.rocketmq.sendMessageWithVIPChannel=false
    depends_on:
      - namesrv
      - broker
networks:
  rocketmq:
    driver: bridge

啟動(dòng):

# 確保 broker.conf 中的 brokerIP1 已配置
docker-compose up -d

總結(jié)

通過本文的實(shí)戰(zhàn)記錄,我們解決了 Docker 部署 RocketMQ 時(shí)的兩個(gè)核心問題:

  1. 生產(chǎn)者超時(shí):通過配置 brokerIP1 讓 Broker 注冊(cè)宿主機(jī) IP
  2. Console 連不上:通過 --network host 讓 Console 直接訪問宿主機(jī)網(wǎng)絡(luò)

到此這篇關(guān)于Docker 部署 RocketMQ 5.1.0 踩坑指南從超時(shí)到 Console 連不上的完整解決方案的文章就介紹到這了,更多相關(guān)Docker 部署 RocketMQ 內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 詳解docker?API管理接口增加CA安全認(rèn)證

    詳解docker?API管理接口增加CA安全認(rèn)證

    這篇文章主要介紹了docker?API管理接口增加CA安全認(rèn)證,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-06-06
  • docker環(huán)境變量配置不生效/ect/profile的解決方法

    docker環(huán)境變量配置不生效/ect/profile的解決方法

    docker在使用過程中,有時(shí)候自定義容器實(shí)例中的某些配置文件,本文主要介紹了docker環(huán)境變量配置不生效/ect/profile的解決方法,感興趣的可以了解一下
    2023-08-08
  • 搭建docker內(nèi)網(wǎng)私服的方法(docker-registry with nginx&ssl on centos)

    搭建docker內(nèi)網(wǎng)私服的方法(docker-registry with nginx&ssl on centos)

    這篇文章主要介紹了搭建docker內(nèi)網(wǎng)私服的方法(docker-registry with nginx&ssl on centos),小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2018-05-05
  • Docker中搭建FastDFS文件系統(tǒng)(多圖教程)

    Docker中搭建FastDFS文件系統(tǒng)(多圖教程)

    這篇文章主要介紹了Docker中搭建FastDFS文件系統(tǒng)(多圖教程),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-05-05
  • 不同系統(tǒng)下Docker?Desktop鏡像存儲(chǔ)路徑設(shè)置方法

    不同系統(tǒng)下Docker?Desktop鏡像存儲(chǔ)路徑設(shè)置方法

    這篇文章主要介紹了不同系統(tǒng)下Docker?Desktop鏡像存儲(chǔ)路徑設(shè)置方法的相關(guān)資料,不同操作系統(tǒng)下設(shè)置Docker鏡像存儲(chǔ)路徑的方法有所不同,分別適用于Windows、macOS和Linux系統(tǒng),需要的朋友可以參考下
    2025-04-04
  • Docker文件映射實(shí)現(xiàn)主機(jī)與容器間目錄的雙向映射

    Docker文件映射實(shí)現(xiàn)主機(jī)與容器間目錄的雙向映射

    本地文件系統(tǒng)和容器中的文件系統(tǒng)之間的交互是一項(xiàng)必不可少的功能,本文主要介紹了Docker文件映射實(shí)現(xiàn)主機(jī)與容器間目錄的雙向映射,具有一定的參考價(jià)值,感興趣的可以了解一下
    2024-03-03
  • Docker安裝RabbitMQ并安裝延時(shí)隊(duì)列插件

    Docker安裝RabbitMQ并安裝延時(shí)隊(duì)列插件

    本文主要介紹了Docker安裝RabbitMQ并安裝延時(shí)隊(duì)列插件,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-05-05
  • Docker鏡像與容器的導(dǎo)入導(dǎo)出操作實(shí)踐

    Docker鏡像與容器的導(dǎo)入導(dǎo)出操作實(shí)踐

    這篇文章介紹了Docker鏡像與容器的導(dǎo)入導(dǎo)出操作,對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-03-03
  • Docker 中 Crontab 不執(zhí)行的原因全解析與解決方案

    Docker 中 Crontab 不執(zhí)行的原因全解析與解決方案

    文章總結(jié)了在Docker容器里使用crontab時(shí)遇到的問題及解決方法,常見問題包括缺少cron服務(wù)、服務(wù)未啟動(dòng)、容器銷毀后任務(wù)丟失等,解決方法包括使用Supervisor管理cron、將任務(wù)放在宿主機(jī)的crontab、通過掛載方式加載宿主機(jī)的cron文件,感興趣的朋友跟隨小編一起看看吧
    2025-12-12
  • 使用Docker部署postgresql教程

    使用Docker部署postgresql教程

    本文介紹了如何使用Docker部署PostgreSQL數(shù)據(jù)庫(kù),包括從DockerHub拉取鏡像、創(chuàng)建容器、使用命令行和docker-compose進(jìn)行部署,以及如何在容器中使用psql進(jìn)行SQL操作,此外,還詳細(xì)說明了PostgreSQL的一些環(huán)境變量及其作用
    2025-12-12

最新評(píng)論

通辽市| 巩留县| 昭通市| 贵港市| 南漳县| 云龙县| 镇远县| 康乐县| 青冈县| 特克斯县| 景宁| 双桥区| 大田县| 博野县| 合水县| 广灵县| 泌阳县| 满洲里市| 德清县| 石景山区| 泸西县| 唐海县| 邵阳县| 楚雄市| 峨边| 恭城| 龙陵县| 琼中| 盘山县| 揭阳市| 荆州市| 杨浦区| 安国市| 吴江市| 仙桃市| 荥经县| 丹棱县| 手游| 安阳县| 永德县| 兴业县|