亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

docker關(guān)閉mysql端口映射的使用方式

 更新時間:2025年06月17日 09:29:40   作者:咸魚翻身不還是咸魚嗎  
這篇文章主要介紹了docker關(guān)閉mysql端口映射的使用方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教

需求

項目中的數(shù)據(jù)庫為mysql,如果將端口映射到宿主機上,容易被工具掃描出,且隨著國產(chǎn)化的進(jìn)程推進(jìn),mysql將不被允許。

為了提高安全性與滿足項目需求,這里采用隱藏mysql端口方式,不映射宿主機端口,僅允許docker容器間訪問。

系統(tǒng)部署說明

環(huán)境:

  • Centos 7
  • Docker version 24.0.6
  • Docker Compose version v2.16.0

新增docker網(wǎng)絡(luò)

由于我們需要新建指定ip的容器,docker默認(rèn)網(wǎng)絡(luò)是隨機分配ip,無法實現(xiàn)需求。

新建網(wǎng)絡(luò)步驟如下

# 查看docker網(wǎng)卡
docker network ls 
# 查看具體信息,通常默認(rèn)網(wǎng)卡為bridge
docker network inspect <網(wǎng)卡id> /<網(wǎng)卡NAME> 
docker network inspect bridge
# 創(chuàng)建網(wǎng)絡(luò),注意,不要和上面已經(jīng)存在的網(wǎng)段相同
docker network create --subnet=172.18.0.0/16 myself_network

報錯處理:

Error response from daemon: Pool overlaps with other one on this address space

說明172.18網(wǎng)段已經(jīng)被使用,需要修改一個網(wǎng)段,比如172.36,注意后續(xù)容器中使用的所有網(wǎng)段需要同步修改。

數(shù)據(jù)庫部署

創(chuàng)建/sdb/db/data目錄,并下載初始化數(shù)據(jù)庫腳本test.sql,進(jìn)入目錄,將初始化腳本放在/sdb/db/data目錄下。

PS:將數(shù)據(jù)庫.sql文件映射到 MySQL 容器的 /docker-entrypoint-initdb.d/ 目錄下,在容器首次啟動時,文件會自動執(zhí)行,重啟容器將不再執(zhí)行當(dāng)前腳本。

方法一:docker run方式啟動容器

直接在/sdb/db/data目錄下執(zhí)行以下docker run命令,啟動容器,并初始化test.sql腳本。

# 使用以上創(chuàng)建的網(wǎng)絡(luò),給容器指定一個ip
docker run --name datacenter-mysql -e MYSQL_ROOT_PASSWORD=123456   -e TZ=Asia/Shanghai --network myself_network  -v /sdb/db/data/test.sql:/docker-entrypoint-initdb.d/test.sql  -v /sdb/db/data:/var/lib/mysql  --ip 172.18.0.136  -d mysql:8.0.27 --default-authentication-plugin=mysql_native_password  --lower-case-table-names=1
# 查看容器ip
docker inspect datacenter-mysql|grep IPAddress

方法二:docker-compose方式啟動

在/sdb/db/data目錄下創(chuàng)建docker-compose.yml文件,內(nèi)容如下

version: '3'

# 這里需要指定使用以上創(chuàng)建的網(wǎng)絡(luò),否則會報錯
networks:
  myself_network:
    external: true

services:
  mysql-test:
    image: mysql:8.0.27
    container_name: datacenter-mysql
    environment:
      - MYSQL_ROOT_PASSWORD=123456
      - TZ=Asia/Shanghai
    volumes:
      - /sdb/db/data/test.sql:/docker-entrypoint-initdb.d/test.sql
      - /sdb/db/data:/var/lib/mysql
    command:
      - --default-authentication-plugin=mysql_native_password
      - --lower-case-table-names=1
    networks:
      my_custom_network:
        ipv4_address: 172.18.0.136
    restart: always

啟動容器

docker-compose up -d

服務(wù)部署說明

配置完數(shù)據(jù)庫固定ip,我們可以在服務(wù)中使用,啟動容器的環(huán)境變量或配置文件都可以,docker-compose文件大致如下,具體不細(xì)展開。

version: '3.7'

networks:
  myself_network:
    external: true

services:
  web:
    image: "web:1.0"
    # 容器名
    container_name: "test-web"
    restart: always
    ports:
      - "80:80"
    networks:
      myself_network:
      # 注意:這個地址網(wǎng)段需要與數(shù)據(jù)庫一致
        ipv4_address: 172.18.0.3

  # 啟動數(shù)據(jù)中臺Java服務(wù)端容器
  api:
    image: "api:1.0"
    # 容器名
    container_name: "test-api"
    restart: always
    ports:
      - "8080:8080"
    environment: 
    # 這里可以設(shè)置環(huán)境變量,使用以上配置的mysql數(shù)據(jù)庫ip端口
      DB_JDBC_URL: jdbc:mysql://127.18.0.136:3306/test
      DB_USERNAME: root
      DB_PASSWORD: 123456
    networks:
      myself_network:
       # 注意:這個地址網(wǎng)段需要與數(shù)據(jù)庫一致
        ipv4_address: 172.18.0.4

啟動服務(wù)

docker-compose up -d

總結(jié)

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • 詳解如何將docker快速升級到最新版本

    詳解如何將docker快速升級到最新版本

    最近在對區(qū)塊鏈瀏覽器調(diào)優(yōu),該區(qū)塊鏈瀏覽器就是使用docker部署的微服務(wù),在一臺新的服務(wù)器上啟動時報錯,發(fā)現(xiàn)是docker版本過低,所以本文給大家介紹了將docker快速升級到最新版本的方法,需要的朋友可以參考下
    2024-02-02
  • Docker配置WebSSH的實現(xiàn)

    Docker配置WebSSH的實現(xiàn)

    本文主要介紹了Docker配置WebSSH的實現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-03-03
  • Docker容器添加新端口映射的方法與詳細(xì)步驟

    Docker容器添加新端口映射的方法與詳細(xì)步驟

    這篇文章主要給大家介紹了關(guān)于Docker容器添加新端口映射的方法與詳細(xì)步驟,Docker 端口映射即映射容器內(nèi)應(yīng)用的服務(wù)端口到本機宿主機器,文中通過代碼示例介紹的非常詳細(xì),需要的朋友可以參考下
    2023-08-08
  • docker如何使用阿里加速器的方法

    docker如何使用阿里加速器的方法

    本篇文章主要介紹了docker如何使用阿里加速器的方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-07-07
  • 使用phpstorm對docker中的腳本進(jìn)行debug的方法

    使用phpstorm對docker中的腳本進(jìn)行debug的方法

    這篇文章主要介紹了使用phpstorm對docker中的腳本進(jìn)行debug的方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-08-08
  • 使用Docker將容器打成鏡像的方法步驟

    使用Docker將容器打成鏡像的方法步驟

    本文主要介紹了使用Docker將容器打成鏡像的方法步驟,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-05-05
  • docker容器間跨宿主機通信-基于overlay的實現(xiàn)方法

    docker容器間跨宿主機通信-基于overlay的實現(xiàn)方法

    這篇文章主要介紹了docker容器間跨宿主機通信-基于overlay的實現(xiàn)方法,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-02-02
  • 使用Docker快速搭建Airflow+MySQL詳細(xì)步驟

    使用Docker快速搭建Airflow+MySQL詳細(xì)步驟

    本文詳細(xì)介紹了如何使用Docker和Docker Compose安裝并配置Apache Airflow 2.9.3,步驟包括創(chuàng)建項目目錄、編寫docker-compose.yml文件、創(chuàng)建所需目錄結(jié)構(gòu)、啟動和管理Docker容器,以及如何訪問和配置Airflow Web UI,感興趣的朋友跟隨小編一起看看吧
    2024-09-09
  • Docker之Dockerfile使用方法詳解

    Docker之Dockerfile使用方法詳解

    當(dāng)使用Docker構(gòu)建容器化應(yīng)用程序時,Dockerfile是一個用于定義容器鏡像的文本文件,Dockerfile 的編寫是構(gòu)建容器的基礎(chǔ),它允許您定義容器的構(gòu)建步驟、環(huán)境和配置,所以本文就給大家講講Docker的Dockerfile使用方法,需要的朋友可以參考下
    2023-09-09
  • .netcore 使用surging框架發(fā)布到docker

    .netcore 使用surging框架發(fā)布到docker

    這篇文章主要介紹了netcore 使用surging框架發(fā)布到docker,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-03-03

最新評論