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

docker項(xiàng)目部署的教程(Vue+springboot)

 更新時(shí)間:2025年04月28日 14:45:41   作者:我自飛揚(yáng)臨天下  
這篇文章主要介紹了docker項(xiàng)目部署的教程(Vue+springboot),具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

1.docker安裝(Ubuntu)

卸載原有的docker引擎和舊版本軟件包(第一次使用跳過(guò))

# 卸載 Docker Engine、CLI、containerd 和 Docker Compose 軟件包:
sudo apt-get purge docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin docker-ce-rootless-extras

# 主機(jī)上的映像、容器、卷或自定義配置文件 不會(huì)自動(dòng)刪除。要?jiǎng)h除所有鏡像、容器和卷,請(qǐng)執(zhí)行以下操作:
sudo rm -rf /var/lib/docker
sudo rm -rf /var/lib/containerd

# 刪除源列表和密鑰環(huán)
sudo rm /etc/apt/sources.list.d/docker.list
sudo rm /etc/apt/keyrings/docker.asc

# 卸載舊版本
for pkg in docker.io docker-doc docker-compose docker-compose-v2 podman-docker containerd runc; do sudo apt-get remove $pkg; done

使用存儲(chǔ)庫(kù)安裝apt

#1.設(shè)置 Docker 的存儲(chǔ)庫(kù)(一行一行執(zhí)行)

sudo apt-get update

sudo apt-get install ca-certificates curl

sudo install -m 0755 -d /etc/apt/keyrings

sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc

sudo chmod a+r /etc/apt/keyrings/docker.asc

echo \
  "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \
  $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
  sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
  
sudo apt-get update

# 2.安裝 Docker 軟件包
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

# 3.啟動(dòng)docker 
systemctl start docker

# 4.查看是否運(yùn)行,該命令為查看鏡像
docker images

2.安裝nginx并運(yùn)行

# 拉取nginx鏡像
docker pull nginx

# 創(chuàng)建nginx容器并且運(yùn)行,
# -p 做宿主機(jī)與容器端口的映射
# -v 做數(shù)據(jù)掛載
# 注意(-v)后面(:)前面的html目錄和nginx.conf文件需要自己創(chuàng)建
# (:)后面是固定的docker nginx容器目錄
docker run -d\
  --name nginxR\
  -p 18080:18080\
  -p 18081:18081\
  -v /root/nginx/html:/usr/share/nginx/html\
  -v /root/nginx/nginx.conf:/etc/nginx/nginx.conf\
  nginx

注:

nginx.conf配置文件指定的前端目錄所在位置要與容器內(nèi)的位置相對(duì)于,不要直接寫(xiě)相對(duì)于宿主機(jī)的位置,否則服務(wù)器訪問(wèn)不到

3.安裝Mysql

# 拉取mysql鏡像
docker pull mysql

# 創(chuàng)建mysql容器并且運(yùn)行,這里同樣也要做數(shù)據(jù)掛載
# -v 做數(shù)據(jù)目錄、初始化腳本(自己在該目錄放置sql)、和配置文件(字符格式等配置)的掛載,
# 同樣也要自己創(chuàng)建文件目錄
docker run -d\
  --name mysql1.0\
  -p 3306:3306\
  -e TZ=Asia/Shanghai\
  -e MYSQL_ROOT_PASSWORD=root1234\
  -v /root/mysql/data:/var/lib/mysql\
  -v /root/mysql/init:/docker-entrypoint-initdb.d\
  -v /root/mysql/conf:/etc/mysql/conf.d\
  mysql

之所以做數(shù)據(jù)掛載就是防止容器出現(xiàn)問(wèn)題掛掉,那么數(shù)據(jù)也隨之消失,掛載到宿主機(jī),即使容器掛掉,在創(chuàng)建新容器也能保持原有的數(shù)據(jù)

注意:實(shí)際開(kāi)發(fā)環(huán)境中3306端口不對(duì)外暴露,容器內(nèi)自定義網(wǎng)絡(luò)互相訪問(wèn)

4.構(gòu)建jdk鏡像

準(zhǔn)備條件(3樣?xùn)|西)

  • 一份 jdk.tar.gz 包
  • 一份自己的 java項(xiàng)目jar 包
  • 一份編寫(xiě)好的 Dockerfile 文件

拉取ubuntu鏡像

docker pull ubuntu:24.04

Dockerfile

# 指定基礎(chǔ)鏡像
FROM ubuntu:24.04

#配置環(huán)境變量指定到容器內(nèi)的目錄(通過(guò)通過(guò)這個(gè)環(huán)境變量來(lái)引用/usr/local這個(gè)路徑)
ENV JAVA_URL=/usr/local

# 拷貝jdk到容器內(nèi)
COPY ./jdk17.tar.gz $JAVA_URL
#拷貝自己的項(xiàng)目的jar包到容器內(nèi)
COPY musicservice-0.0.1-SNAPSHOT.jar /app.jar

#進(jìn)入到下載了jdk的目錄把他解壓縮重命名java17
RUN cd $JAVA_URL && tar -zxf ./jdk17.tar.gz

#配置jdk環(huán)境變量,何在本地配置環(huán)境變量是一致的
ENV JAVA_HOME=$JAVA_URL/jdk17
#添加到系統(tǒng)搜索路徑
ENV PATH=$PATH:$JAVA_HOME/bin

# 入口,java項(xiàng)目的啟動(dòng)命令
ENTRYPOINT ["java","-jar","/app.jar"]

注意:

16行的jdk17一定要與jdk17.tar.gz解壓出來(lái)的文件名一致

不然報(bào)錯(cuò):

executable file not found in $PATH: unknown.

Dockerfile簡(jiǎn)潔版

ubuntu、jdk、jar 三者構(gòu)成springboot基本運(yùn)行環(huán)境

FROM ubuntu:24.04

COPY jdk17.tar.gz /usr/local
COPY my.jar /app.jar

RUN cd /usr/local && tar -xf jdk17.tar.gz && rm jdk17.tar.gz && apt-get update && apt-get install -y iputils-ping

ENV PATH=/usr/local/jdk-17.0.12/bin:$PATH

ENTRYPOINT ["java","-jar","/app.jar"]

這里RUN多加了一個(gè)ping工具

構(gòu)建java鏡像

# 構(gòu)建java鏡像
docker build -t javajar .

# 注意:末尾的點(diǎn)不要忽略了,javajar是自定義鏡像名

創(chuàng)建并運(yùn)行java容器

docker run -d --name javajar1.0 -p 8888:8888 javajar

5.網(wǎng)絡(luò)配置

docker容器都是相互隔離的,要將三部分加入同一個(gè)網(wǎng)絡(luò),就能互相訪問(wèn)了

自定義網(wǎng)絡(luò)

docker network create mynet

加入網(wǎng)絡(luò)

docker network connect mynet nginx1.0
docker network connect mynet mysql1.0
docker network connect mynet javajar1.0

ping命令

# 如果需要進(jìn)入到容器內(nèi)部檢查連通性,就需要ping
docker exec -it javajar1.0 bash
# docker中是沒(méi)有ping命令的,需要自己安裝
apt-get update
apt-get install iputils-ping

6.注意事項(xiàng)

由于通過(guò)自定義網(wǎng)絡(luò)后就可以通過(guò)容器名訪問(wèn)

我們springboot后端訪問(wèn)數(shù)據(jù)庫(kù)直接用容器名訪問(wèn)即可

**解決:**

為了解決mysql容器ip發(fā)生變化而訪問(wèn)不了的問(wèn)題,javajar是容器名。

nginx代理訪問(wèn)后端也用容器名訪問(wèn)即可

示例:

proxy_pass http://javajar:8888

總結(jié)

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

相關(guān)文章

  • docker鏡像、容器消失兩種解決辦法小結(jié)

    docker鏡像、容器消失兩種解決辦法小結(jié)

    在進(jìn)行系統(tǒng)更新時(shí),很有可能對(duì)Docker造成一定的影響,導(dǎo)致其下載的鏡像和容器被清理掉,這篇文章主要介紹了docker鏡像、容器消失兩種解決辦法的相關(guān)資料,需要的朋友可以參考下
    2025-08-08
  • Docker在CentOS7下不能下載鏡像timeout的解決辦法(圖解)

    Docker在CentOS7下不能下載鏡像timeout的解決辦法(圖解)

    本文給大家記錄下Docker在CentOS7下不能下載鏡像timeout問(wèn)題的解決方法,非常不錯(cuò),具有參考借鑒價(jià)值,感興趣的朋友一起看看吧
    2016-11-11
  • Ollma本地部署Qwen2.5 14B的詳細(xì)過(guò)程(不使用docker)

    Ollma本地部署Qwen2.5 14B的詳細(xì)過(guò)程(不使用docker)

    本文介紹了如何在不使用Docker的情況下部署Ollama模型和Open-webui實(shí)現(xiàn)可視化界面,Ollama模型通過(guò)命令行操作,包括啟動(dòng)、創(chuàng)建、運(yùn)行等,Open-webui則需要安裝Anaconda環(huán)境,安裝并啟動(dòng)服務(wù)后,通過(guò)瀏覽器訪問(wèn)即可使用,感興趣的朋友跟隨小編一起看看吧
    2024-11-11
  • docker安裝mysql并實(shí)現(xiàn)數(shù)據(jù)卷掛載的示例代碼

    docker安裝mysql并實(shí)現(xiàn)數(shù)據(jù)卷掛載的示例代碼

    本文介紹了如何通過(guò)Docker安裝MySQL并實(shí)現(xiàn)了數(shù)據(jù)卷掛載,詳細(xì)說(shuō)明了創(chuàng)建容器、配置掛載以及驗(yàn)證數(shù)據(jù)持久性的步驟,對(duì)于需要在Docker環(huán)境下部署MySQL的用戶(hù)非常有幫助
    2024-10-10
  • 解決docker容器重啟之后/etc下某些配置文件被重置的問(wèn)題

    解決docker容器重啟之后/etc下某些配置文件被重置的問(wèn)題

    這篇文章主要介紹了解決docker容器重啟之后/etc下某些配置文件被重置的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2021-03-03
  • 解決運(yùn)行Docker鏡像報(bào)錯(cuò):version `GLIBC_2.32‘ not found問(wèn)題

    解決運(yùn)行Docker鏡像報(bào)錯(cuò):version `GLIBC_2.32‘ not found

    文章介紹了解決Docker鏡像運(yùn)行時(shí)因GLIBC版本不匹配導(dǎo)致的錯(cuò)誤,建議使用AlpineLinux作為基礎(chǔ)鏡像,并在其中安裝所需的運(yùn)行時(shí)庫(kù),作者還分享了個(gè)人經(jīng)驗(yàn),提醒讀者嘗試其他方法無(wú)效后可以尋求幫助
    2024-12-12
  • Docker常見(jiàn)的錯(cuò)誤和異常整理大全

    Docker常見(jiàn)的錯(cuò)誤和異常整理大全

    這篇文章主要給大家介紹了關(guān)于Docker常見(jiàn)的錯(cuò)誤和異常整理的相關(guān)資料,文中通過(guò)代碼示例介紹的非常詳細(xì),對(duì)新手們學(xué)習(xí)Docker具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-08-08
  • docker-compose部署zk+kafka+storm集群的實(shí)現(xiàn)

    docker-compose部署zk+kafka+storm集群的實(shí)現(xiàn)

    這篇文章主要介紹了docker-compose部署zk+kafka+storm集群,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-10-10
  • 使用docker compose安裝harbor私有倉(cāng)庫(kù)的詳細(xì)教程

    使用docker compose安裝harbor私有倉(cāng)庫(kù)的詳細(xì)教程

    harbor鏡像倉(cāng)庫(kù)是由VMware開(kāi)源的一款企業(yè)級(jí)鏡像倉(cāng)庫(kù),它包括權(quán)限管理(RBAC)、LDAP、日志審核、管理界面、自我注冊(cè)、鏡像復(fù)制等諸多功能,本文給大家介紹docker compose安裝harbor的方法,需要的朋友參考下吧
    2021-06-06
  • 云原生Docker容器自定義DNS解析

    云原生Docker容器自定義DNS解析

    Docker沒(méi)有為每個(gè)容器專(zhuān)門(mén)定制鏡像,那么怎么自定義配置容器的DNS配置呢?這篇文章主要給大家介紹了關(guān)于云原生Docker容器自定義DNS的相關(guān)資料,需要的朋友可以參考下
    2023-02-02

最新評(píng)論

公主岭市| 梅州市| 彭阳县| 白水县| 镇沅| 陆良县| 石柱| 韩城市| 汉源县| 绥德县| 绥德县| 重庆市| 普陀区| 金沙县| 茶陵县| 庆元县| 杂多县| 延安市| 临清市| 平和县| 曲水县| 吉林省| 昌平区| 睢宁县| 石河子市| 全南县| 泊头市| 晋中市| 周口市| 永福县| 新建县| 巴东县| 城口县| 上栗县| 乌兰浩特市| 稻城县| 钦州市| 克东县| 勃利县| 安国市| 剑河县|