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

docker如何在一個(gè)容器內(nèi)部署多個(gè)服務(wù)

 更新時(shí)間:2024年01月29日 10:42:12   作者:我要用代碼向我喜歡的女孩表白  
這篇文章主要介紹了docker如何在一個(gè)容器內(nèi)部署多個(gè)服務(wù),思路是這樣的首先拿到你的httpd,以及你的springBoot,合并他們的Dockerfile,然后打包,然后啟動(dòng)的時(shí)候啟動(dòng)多個(gè)端口(httpd的端口和你服務(wù)的端口),需要的朋友可以參考下

原因是,我有一個(gè)springBoot服務(wù)需要寫入httpd的目錄,然后httpd提供鏈接給別人下載。之前的方法是,httpd和springBoot各一個(gè)容器,但是我們將鏡像是部署在騰訊云上的,騰訊云會(huì)自動(dòng)對(duì)每個(gè)容器分離不同的虛擬機(jī),這樣就導(dǎo)致,他們不能共享目錄。所以只能寫在一個(gè)容器內(nèi)。

思路,首先拿到你的httpd,以及你的springBoot,合并他們的Dockerfile,然后打包,然后啟動(dòng)的時(shí)候啟動(dòng)多個(gè)端口(httpd的端口和你服務(wù)的端口)

0.創(chuàng)建一個(gè)文件夾,將之前的httpd以及springBoot放進(jìn)去

mkdir dahua-houduan
cp -r httpd/ dahua-houduan/
cp -r dahua/ dahua-houduan/

1.合并dockerfile

httpd原docker

FROM docker.io/centos:7
RUN echo "Asia/Shanghai" > /etc/timezone
RUN yum -y install httpd
RUN mv /etc/httpd/conf.d/welcome.conf /etc/httpd/conf.d/welcome.conf.bak
COPY httpd/httpd.conf /etc/httpd/conf/httpd.conf
COPY run.sh /run.sh
RUN chmod 777 /run.sh
EXPOSE 9999
ENTRYPOINT [ "/run.sh" ]

說(shuō)明

首先拉個(gè)鏡像,然后下載httpd,然后改配置,運(yùn)行sh腳本。

這里我們要取的是,都取 ,sh腳本等一會(huì)兒進(jìn)行修改

springBoot原docker

FROM java:8
RUN echo "Asia/Shanghai" > /etc/timezone
EXPOSE 8087
COPY dahua/config /config
COPY dahua/logs /logs
COPY dahua/dahua-1.0.jar /dahua-spring.jar
COPY dahua/Dockerfile /Dokcerfile
ENTRYPOINT ["java","-jar","/dahua-spring.jar"]

說(shuō)明

首先獲取jdk環(huán)境,然后復(fù)制配置文件和日志,復(fù)制jar啟動(dòng)

這里我們獲取的是,除最后1行的所有

合并說(shuō)明

建立一個(gè)Dockerfile

注意from有個(gè)坑,如果有多個(gè)from只會(huì)保留最后一個(gè)from的內(nèi)容

合并 dockerfile

FROM docker.io/centos:7
RUN echo "Asia/Shanghai" > /etc/timezone
RUN yum -y install httpd
RUN mv /etc/httpd/conf.d/welcome.conf /etc/httpd/conf.d/welcome.conf.bak
COPY httpd/httpd.conf /etc/httpd/conf/httpd.conf
COPY httpd/run.sh /run.sh
RUN chmod 777 /run.sh
EXPOSE 9999

FROM java:8
EXPOSE 8087
COPY dahua/config /config
COPY dahua/logs /logs
COPY dahua/dahua-1.0.jar /dahua-spring.jar
COPY dahua/Dockerfile /Dokcerfile

ENTRYPOINT [ "/run.sh" ]

之前的centos系統(tǒng)會(huì)消失,因?yàn)橐粋€(gè)容器是一個(gè)虛擬機(jī),from一次就相當(dāng)于產(chǎn)生一個(gè)新的虛擬機(jī),而虛擬機(jī)本質(zhì)只能有一個(gè)虛擬環(huán)境。

這里對(duì)上面紅色的java8不進(jìn)行from(刪除jdk8),而是單獨(dú)在centos7中單獨(dú)部署jdk8

說(shuō)明

jdk的安裝就是把目錄copy過去更新環(huán)境變量

dockerFile新增內(nèi)容為

COPY jdk1.8 /jdk1.8.0_181
ENV JAVA_HOME=/jdk1.8.0_181
ENV PATH=$PATH:${JAVA_HOME}/bin

完整docker鏡像

FROM docker.io/centos:7
RUN echo "Asia/Shanghai" > /etc/timezone
RUN yum -y install httpd
RUN mv /etc/httpd/conf.d/welcome.conf /etc/httpd/conf.d/welcome.conf.bak
COPY httpd/httpd.conf /etc/httpd/conf/httpd.conf
COPY httpd/run.sh /run.sh
RUN chmod 777 /run.sh
EXPOSE 9999
COPY jdk1.8 /jdk1.8.0_181
ENV JAVA_HOME=/jdk1.8.0_181
ENV PATH=$PATH:${JAVA_HOME}/bin

EXPOSE 8087
COPY dahua/config /config
COPY dahua/logs /logs
COPY dahua/dahua-1.0.jar /dahua-spring.jar
COPY dahua/Dockerfile /Dokcerfile

ENTRYPOINT [ "/run.sh" ]

sh腳本修改

修改run.sh

#!/bin/bash
httpd
java -jar dahua-spring.jar

2.打包

docker build -t test1 .

3.啟動(dòng)

docker run -p 8087:8087 -p 9999:9999 test1

到此這篇關(guān)于docker一個(gè)容器內(nèi)部署多個(gè)服務(wù)的文章就介紹到這了,更多相關(guān)docker多個(gè)服務(wù)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Docker私有倉(cāng)庫(kù)Registry部署的實(shí)現(xiàn)

    Docker私有倉(cāng)庫(kù)Registry部署的實(shí)現(xiàn)

    這篇文章主要介紹了Docker私有倉(cāng)庫(kù)Registry部署的實(shí)現(xiàn),私有倉(cāng)庫(kù)最常用的就是Registry、Harbor兩種,本文詳細(xì)介紹如何搭建registry私有倉(cāng)庫(kù),感興趣的可以了解一下
    2020-06-06
  • docker-compose部署nacos 2.2.3的詳細(xì)過程

    docker-compose部署nacos 2.2.3的詳細(xì)過程

    這篇文章主要介紹了docker-compose部署nacos 2.2.3的詳細(xì)過程,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-11-11
  • Docker如何刪除鏡像

    Docker如何刪除鏡像

    本文詳細(xì)介紹了如何使用Docker刪除鏡像,包括查看鏡像、刪除單個(gè)鏡像、刪除多個(gè)鏡像、刪除所有鏡像以及注意事項(xiàng),刪除鏡像是一個(gè)常見的操作,用于清理不再需要的鏡像,以節(jié)省存儲(chǔ)空間
    2025-03-03
  • 使用docker部署django的詳細(xì)步驟

    使用docker部署django的詳細(xì)步驟

    當(dāng)用Django框架開發(fā)的網(wǎng)站項(xiàng)目完成后上線的話可以用物理主機(jī)、虛擬機(jī)來(lái)部署,也可以容器,下面這篇文章主要給大家介紹了關(guān)于使用docker部署django的詳細(xì)步驟,需要的朋友可以參考下
    2022-08-08
  • Docker安裝mysql9.1.0的實(shí)現(xiàn)

    Docker安裝mysql9.1.0的實(shí)現(xiàn)

    本文主要介紹了Docker安裝mysql9.1.0的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2025-02-02
  • Docker如何創(chuàng)建一個(gè)Jar服務(wù)容器

    Docker如何創(chuàng)建一個(gè)Jar服務(wù)容器

    這篇文章主要介紹了Docker如何創(chuàng)建一個(gè)Jar服務(wù)容器問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-08-08
  • 使用 Docker 在 Ubuntu 上部署 FTP 服務(wù)器的步驟

    使用 Docker 在 Ubuntu 上部署 FTP 服務(wù)器

    本文詳細(xì)介紹了如何在Ubuntu系統(tǒng)上通過Docker部署FTP服務(wù)器的步驟,包括安裝Docker、拉取vsftpd鏡像以及運(yùn)行FTP容器等,通過這些步驟,用戶可以在提供的免費(fèi)云服務(wù)器上快速搭建起一個(gè)安全高效的FTP服務(wù),適合小型項(xiàng)目或個(gè)人使用,感興趣的朋友跟隨小編一起看看吧
    2024-10-10
  • docker拉取clickhouse鏡像的方法實(shí)現(xiàn)

    docker拉取clickhouse鏡像的方法實(shí)現(xiàn)

    本文主要介紹了docker拉取clickhouse鏡像的方法實(shí)現(xiàn),解決從DockerHub拉取鏡像時(shí)的網(wǎng)絡(luò)連接問題,具有一定的參考價(jià)值,感興趣的可以了解一下
    2025-03-03
  • Armbian5.9.0安裝docker及部署可視化portainer的詳細(xì)教程

    Armbian5.9.0安裝docker及部署可視化portainer的詳細(xì)教程

    這篇文章主要介紹了Armbian5.9.0安裝docker及部署可視化portainer的詳細(xì)教程,通過?ssh?進(jìn)去?Armbian?系統(tǒng)后,輸入相應(yīng)代碼,按提示輸入y,等待安裝完成即可,需要的朋友可以參考下
    2022-05-05
  • Docker系列之使用Docker Compose編排容器

    Docker系列之使用Docker Compose編排容器

    Docker Compose 是 Docker 容器進(jìn)行編排的工具,定義和運(yùn)行多容器的應(yīng)用,可以一條命令啟動(dòng)多個(gè)容器,這篇文章主要介紹了Docker系列之使用Docker Compose編排容器,感興趣的小伙伴們可以參考一下
    2018-06-06

最新評(píng)論