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

Docker部署前后端的實現(xiàn)步驟

 更新時間:2026年04月30日 10:09:38   作者:今天又在寫代碼  
本文主要介紹了Docker部署前后端的實現(xiàn)步驟,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧

一、Docker前置環(huán)境檢查

1. 查看所有容器

# 正在運行的容器
docker ps
# 全部容器(運行+停止的,必看)
docker ps -a

2. 查看本地鏡像

docker images

3. 查看網(wǎng)絡

docker network ls

4. 查看所需端口占用

# 看宿主機80/8080有沒有被占用 
ss -tuln | grep -E '80|8080'

5. 清理舊容器常用命令

# 停止容器
docker stop 容器名/容器ID

# 刪除容器
docker rm 容器名/容器ID

# 刪除鏡像
docker rmi 鏡像名:標簽
docker rmi nginx:latest

# 刪除網(wǎng)絡
docker network rm minikube

二、Docker前后端部署

1.容器部署流程

①. 先創(chuàng)建自定義網(wǎng)絡(固定?。?/p>

②. 啟動 MySQL(3308)

③. 啟動 3 個 Java 后端(8081、8082、8083)

④. 最后啟動 Nginx(8080)

2. 創(chuàng)建網(wǎng)絡(數(shù)據(jù)智能分析平臺)

docker network create data-platform-net

如果使用--network=host共用虛擬機的 IP、網(wǎng)卡、網(wǎng)絡棧可以不創(chuàng)建

3.MySQL容器構建與運行

①.創(chuàng)建MySQL本地目錄掛載

# 先創(chuàng)建目錄(/usr/local/mysql)
mkdir -p /usr/local/mysql/data
mkdir -p /usr/local/mysql/conf
mkdir -p /usr/local/mysql/init

②.啟動MySQL容器

docker run -d \
--name mysql \
--network=host \
-e MYSQL_ROOT_PASSWORD=123456 \
-e TZ=Asia/Shanghai \
-e MYSQL_TCP_PORT=3308 \
-v /usr/local/mysql/data:/var/lib/mysql \
-v /usr/local/mysql/init:/docker-entrypoint-initdb.d \
-v /usr/local/mysql/conf:/etc/mysql/conf.d \
--restart=always \
mysql:8.0
docker run -d \
--name mysql \
--network data-platform-net \
-p 3308:3306 \
-e MYSQL_ROOT_PASSWORD=123456 \
-e TZ=Asia/Shanghai \
-v /usr/local/mysql/data:/var/lib/mysql \
-v /usr/local/mysql/init:/docker-entrypoint-initdb.d \
-v /usr/local/mysql/conf:/etc/mysql/conf.d \
--restart=always \
mysql:8.0

③.進入MySQL容器查看數(shù)據(jù)庫

# 進入 Docker 容器內的 MySQL 的標準命令
docker exec -it mysql mysql -uroot -p123456

④.設置root遠程權限問題

-- 1. 授權 root 可以從任何地址登錄(解決遠程權限問題)
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';

-- 2. 刷新權限,立即生效
FLUSH PRIVILEGES;

⑤.本地電腦遠程連接

# 本地電腦連接,驗證成功
mysql -h192.168.242.128 -P3308 -uroot -p123456 --skip-ssl

4.Java 后端容器構建與運行

①.Dockerfile--qa_system

FROM eclipse-temurin:17-jammy
# 編碼
ENV LANG=C.UTF-8
# 工作目錄
WORKDIR /qa_system
# 拷貝jar
COPY qa_system.jar .
# 端口
EXPOSE 8081
# 啟動
ENTRYPOINT ["java", "-jar", "qa_system.jar"]

打包jdk17.tar.gz和qa_system.jar到/root/docker-project目錄下

②.構建qa_system鏡像

docker build -t qa_system-image .

③.構建運行qa_system容器

docker run -d \
--name qa_system \
--network=host \
--restart=always \
qa_system-image

①.Dockerfile--stock_tushare

FROM eclipse-temurin:17-jammy

# 編碼
ENV LANG=C.UTF-8

# 工作目錄
WORKDIR /stock_tushare

# 拷貝jar
COPY stock_tushare.jar .

# 端口
EXPOSE 8082

# 啟動
ENTRYPOINT ["java", "-jar", "stock_tushare.jar"]

打包jdk17.tar.gz和stock_tushare.jar到/root/docker-project目錄下

②.構建stock_tushare鏡像

docker build -t stock_tushare-image .

③.構建運行qa_system容器

docker run -d \
--name stock_tushare \
--network=host \
--restart=always \
stock_tushare-image

①.Dockerfile--jiekou

FROM eclipse-temurin:17-jammy

# 編碼
ENV LANG=C.UTF-8

# 工作目錄
WORKDIR /jiekou

# 拷貝jar
COPY jiekou.jar .

# 端口
EXPOSE 8083

# 啟動
ENTRYPOINT ["java", "-jar", "jiekou.jar"]
FROM centos:7

COPY jdk17.tar.gz /usr/local/
RUN tar -xzf /usr/local/jdk17.tar.gz -C /usr/local/ && rm /usr/local/jdk17.tar.gz

ENV JAVA_HOME=/usr/local/jdk-17.0.10
ENV PATH=$JAVA_HOME/bin:$PATH

ENV LANG=en_US.UTF-8
ENV LC_ALL=en_US.UTF-8

RUN mkdir -p /jiekou
WORKDIR /jiekou

COPY jiekou.jar .

EXPOSE 8083

ENTRYPOINT ["java", "-jar", "jiekou.jar"]

打包jdk17.tar.gz和jiekou.jar到/root/docker-project目錄下

②.構建jiekou鏡像

docker build -t jiekou-image .

③.構建運行jiekou容器

docker run -d \
--name jiekou \
--network=host \
--restart=always \
jiekou-image
docker run -d \
--name jiekou \
--network data-platform-net \
-p 8083:8083 \
--restart=always \
jiekou-image

5.Nginx容器構建與運行

①.創(chuàng)建Nginx本地目錄掛載

mkdir -p /usr/local/SZTU-IAP/html
mkdir -p /usr/local/SZTU-IAP/conf

②.主機模式

docker run -d \
--name nginx-SZTU-IAP \
-v /usr/local/SZTU-IAP/html:/usr/share/nginx/html \
-v /usr/local/SZTU-IAP/conf/nginx.conf:/etc/nginx/nginx.conf \
--network=host \
--restart=always \
nginx:1.20.2

③.端口映射模式

docker run -d \
--name nginx-SZTU-IAP \
-v /usr/local/SZTU-IAP/html:/usr/share/nginx/html \
-v /usr/local/SZTU-IAP/conf/nginx.conf:/etc/nginx/nginx.conf \
--network data-platform-net \
-p 8080:8080 \
nginx:1.20.2

三、多容器編排工具

①.編寫docker-compose.yml

version: '3.8'
services:
  # 1. MySQL 8.0
  mysql:
    image: mysql:8.0
    container_name: mysql
    network_mode: host
    restart: always
    environment:
      MYSQL_ROOT_PASSWORD: 123456
      TZ: Asia/Shanghai
      MYSQL_TCP_PORT: 3308
    volumes:
      - /usr/local/mysql/data:/var/lib/mysql
      - /usr/local/mysql/init:/docker-entrypoint-initdb.d
      - /usr/local/mysql/conf:/etc/mysql/conf.d
  # 2. QA 系統(tǒng) (8081)
  qa_system:
    image: qa_system-image
    build:
      context: .
      dockerfile: Dockerfile
    container_name: qa_system
    network_mode: host
    restart: always
  # 3. 股票服務 (8082)
  stock_tushare:
    image: stock_tushare-image
    build:
      context: .
      dockerfile: Dockerfile
    container_name: stock_tushare
    network_mode: host
    restart: always
  # 4. 接口服務 (8083)
  jiekou:
    image: jiekou-image
    build:
      context: .
      dockerfile: Dockerfile
    container_name: jiekou
    network_mode: host
    restart: always
  # 5. Nginx 前端 (8080)
  nginx:
    image: nginx:1.20.2
    container_name: nginx-SZTU-IAP
    network_mode: host
    restart: always
    volumes:
      - /usr/local/SZTU-IAP/html:/usr/share/nginx/html
      - /usr/local/SZTU-IAP/conf/nginx.conf:/etc/nginx/nginx.conf

②.一鍵啟動所有服務

docker-compose up -d --build

③.一鍵停止所有

docker-compose down

④.查看所有日志

docker-compose logs -f

四、注意

1.Docker注意事項

①.Docker國內加速鏡像站

# 寫入配置
mkdir -p /etc/docker
cat > /etc/docker/daemon.json <<'EOF'
{
  "debug": true,
  "experimental": false,
  "registry-mirrors": [
    "https://docker.1ms.run",
    "https://docker.m.daocloud.io",
    "https://lispy.org", 
    "https://docker-0.unsee.tech"
  ]
}
EOF
# 重啟docker生效
systemctl daemon-reload
systemctl restart docker
# 驗證是否配置成功
docker info

②.容器運行底層結構

1.虛擬機啟動:分鐘級Docker 容器啟動:毫秒級

2.底層鏡像只下載 1 次,所有容器共享同一個底層

3.底層系統(tǒng)已經在硬盤里了,容器只是啟動一個進程,不是啟動一個完整操作系統(tǒng)

③.系統(tǒng)鏡像對比

centos:7 缺點:

  • 自帶很多 Linux 工具(你 Java 根本不用)
  • 自己解壓 JDK,容易路徑錯、版本錯
  • 環(huán)境變量要手動配
  • 冗余文件多

eclipse-temurin:17 優(yōu)點:

  • 專為 Java 打造
  • 只保留運行 Java 必需的最小系統(tǒng)
  • JDK 官方預裝、環(huán)境變量自動配好
  • 沒有多余垃圾文件
  • 安全、穩(wěn)定、官方維護

2.MySQL注意事項

①.MySQL的root授權

ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';
UNINSTALL PLUGIN validate_password;
SET PERSIST skip_ssl=ON;

②.查看MySQL容器日志

docker logs mysql

③MySQL導出數(shù)據(jù)庫sql

# 導出 qa_system
mysqldump -uroot -p123456 -S/home/lanzebin/mysql.sock -B qa_system > qa_system.sql
# 導出 stock
mysqldump -uroot -p123456 -S/home/lanzebin/mysql.sock -B stock > stock.sql

④.刪除容器 + 清空數(shù)據(jù)

docker rm -f mysql
rm -rf /usr/local/mysql/data/*

3.防火墻注意事項

①.防火墻端口開放

# 查看是否開機自啟
systemctl is-enabled firewalld
# 關閉開機自啟
systemctl disable firewalld
# 放行端口
firewall-cmd --add-port=8080/tcp --permanent
# 重載配置
firewall-cmd --reload
# 查看已放行端口
firewall-cmd --list-ports

到此這篇關于Docker部署前后端的實現(xiàn)步驟的文章就介紹到這了,更多相關Docker部署前后端內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • Docker容器連接外部Mysql的幾種方案

    Docker容器連接外部Mysql的幾種方案

    這篇文章主要給大家介紹了關于Docker容器連接外部Mysql的幾種方案,文中通過圖文以及實例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2023-06-06
  • Docker 部署 PostgreSQL數(shù)據(jù)庫的兩種方式

    Docker 部署 PostgreSQL數(shù)據(jù)庫的兩種方式

    本文介紹了使用Docker部署PostgreSQL數(shù)據(jù)庫的兩種方法,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友參考下吧
    2025-07-07
  • docker-compose部署mysql數(shù)據(jù)庫完整步驟

    docker-compose部署mysql數(shù)據(jù)庫完整步驟

    Docker-Compose項目是Docker官方的開源項目,負責實現(xiàn)對Docker容器集群的快速編排,這篇文章主要給大家介紹了關于docker-compose部署mysql數(shù)據(jù)庫的完整步驟,需要的朋友可以參考下
    2024-05-05
  • docker run -e傳遞環(huán)境變量的過程

    docker run -e傳遞環(huán)境變量的過程

    這篇文章主要介紹了docker run -e傳遞環(huán)境變量的過程,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友參考下吧
    2024-01-01
  • Docker環(huán)境下的Apache NiFi安裝實踐及遇到問題解決方案

    Docker環(huán)境下的Apache NiFi安裝實踐及遇到問題解決方案

    由于最近用到數(shù)據(jù)同步,故打算采用中間件工具來做數(shù)據(jù)同步,誰知第一步部署Apache NiFi環(huán)境就耽擱了好久,其中遇到一些問題,故記錄下來部署成功記錄,下面給大家詳細介紹Docker環(huán)境下的Apache NiFi安裝實踐及遇到問題解決方案,感興趣的朋友一起看看吧
    2025-05-05
  • Docker動態(tài)添加端口不需要重新建立鏡像的方法

    Docker動態(tài)添加端口不需要重新建立鏡像的方法

    Docker容器在運行期間有時可能會需要修改或者添加暴露的端口,但是有時候運行的容器又不想再另外建立一個新的鏡像。接下來通過本文給大家分享Docker動態(tài)添加端口不需要重新建立鏡像的方法,感興趣的朋友一起看看吧
    2019-07-07
  • docker端口映射的實現(xiàn)示例

    docker端口映射的實現(xiàn)示例

    Docker 端口映射允許我們將容器內部的服務綁定到宿主機上的一個或多個端口,本文主要介紹了docker端口映射的實現(xiàn)示例,具有一定的參考價值,感興趣的可以了解一下
    2024-03-03
  • Win10系統(tǒng)使用docker部署ragflow的實現(xiàn)

    Win10系統(tǒng)使用docker部署ragflow的實現(xiàn)

    本文主要介紹了Win10系統(tǒng)使用docker部署ragflow的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2025-05-05
  • 私有云存儲Minio Docker鏡像無法啟動,提示:Adding local Minio host to 'mc' configuration

    私有云存儲Minio Docker鏡像無法啟動,提示:Adding local Minio

    使用Minio在本地搭建私有云存儲時出現(xiàn)無法啟動,查看日志頻繁輸出“Adding local Minio host to 'mc' configuration...”,然后停止了,本文給大家分享私有云存儲Minio Docker鏡像無法啟動,提示:Adding local Minio host to 'mc' configuration,感興趣的朋友一起看看吧
    2023-11-11
  • docker部署mysql?9.0.1的實現(xiàn)

    docker部署mysql?9.0.1的實現(xiàn)

    本文主要介紹了docker部署mysql?9.0.1的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2025-02-02

最新評論

陇川县| 平潭县| 浦城县| 东山县| 和顺县| 娱乐| 彩票| 巴青县| 定襄县| 肥城市| 祁东县| 崇义县| 平湖市| 留坝县| 周至县| 平潭县| 临江市| 兴国县| 铅山县| 乌兰察布市| 张家界市| 武清区| 孟州市| 三门峡市| 屯留县| 普安县| 鹤壁市| 桑日县| 灵武市| 郑州市| 松潘县| 武平县| 荥经县| 彩票| 太和县| 东乡县| 德庆县| 大新县| 贵定县| 温宿县| 塘沽区|