第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

為運(yùn)行 spring boot 獨(dú)立應(yīng)用程序的 docker 容器提供基于 XML 的配置

為運(yùn)行 spring boot 獨(dú)立應(yīng)用程序的 docker 容器提供基于 XML 的配置

手掌心 2023-05-17 15:06:44
我想知道如何配置 docker setup (docker-compose) 以提供一個由我的 Spring boot 應(yīng)用程序使用的配置文件。配置文件稱為services.xml位于應(yīng)用程序/lib/conf目錄中的配置文件。該文件是使用默認(rèn)配置部署的,但是我想要主機(jī)中的文件,以便每當(dāng)我需要更改配置時,我應(yīng)該在主機(jī)中進(jìn)行編輯,容器將讀取更新后的文件。docker-compose.ymlversion: '3.1'services:  my-app:    image: my-app    container_name: my-app    # restart: always    ports:      - 8443:8443    volumes:      - ./my-app/conf:/opt/lib/my-app/lib/conf:rw運(yùn)行后的預(yù)期結(jié)果: docker-compose up我希望這應(yīng)該創(chuàng)建目錄,將容器中的默認(rèn) services.xml(連同 /opt/lib/my-app/lib/conf 中的所有其他文件)復(fù)制到該目錄中,以便我可以編輯它。實(shí)際結(jié)果 運(yùn)行 docker-compose 后,它會在 my-app 目錄中創(chuàng)建一個空目錄。my-app 無法讀取 services.xml 文件并且應(yīng)用程序無法啟動(因?yàn)樗蕾囉诖宋募?
查看完整描述

1 回答

?
LEATH

TA貢獻(xiàn)1936條經(jīng)驗(yàn) 獲得超7個贊

我希望這應(yīng)該創(chuàng)建目錄,將容器中的默認(rèn) services.xml(連同 /opt/lib/my-app/lib/conf 中的所有其他文件)復(fù)制到該目錄中,以便我可以編輯它。

根據(jù)您上面所說,如果您的目標(biāo)是讓容器中的內(nèi)容彈出到主機(jī)并讓您有機(jī)會修改它們,那么我建議您使用命名卷。但是,host 中的文件夾將由 docker 自己管理,因此您需要找到它們所在的位置。

一個供您參考的最小示例:

docker-compose.yaml(在我的示例中,它位于文件夾中77):

version: '3'

services:

? frontend:

? ? image: alpine

? ? command: "tail -f /dev/null"

? ? volumes:

? ? ? - my_data:/etc


volumes:

? my_data:

啟動服務(wù):


shubuntu1@shubuntu1:~/77$ docker-compose up -d

Creating network "77_default" with the default driver

Creating volume "77_my_data" with default driver

Creating 77_frontend_1 ... done

檢查命名卷在主機(jī)中的位置:


shubuntu1@shubuntu1:~/77$ docker ps

CONTAINER ID? ? IMAGE? ? ?COMMAND? ? ? ? ? ? ? ?CREATED? ? ? ? ? ? ?STATUS? ? ? ? ? PORTS? ? ?NAMES

6635aba545c9? ? alpine? ? "tail -f /dev/null"? ?14 minutes ago? ? ? Up 14 minutes? ? ? ? ? ? ?77_frontend_1

shubuntu1@shubuntu1:~/77$ docker inspect 77_frontend_1 | grep Source

? ? ? ? ? ? "Source": "/var/lib/docker/volumes/77_my_data/_data",

檢查容器中原件的內(nèi)容/etc/profile:


shubuntu1@shubuntu1:~/77$ docker exec 77_frontend_1 cat /etc/profile

export CHARSET=UTF-8

export.UTF-8

export PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

export PAGER=less

export PS1='\h:\w\$ '

umask 022


for script in /etc/profile.d/*.sh ; do

? ? if [ -r $script ] ; then

? ? ? ? ? ? . $script

? ? fi

done

從主機(jī)修改腳本:


shubuntu1@shubuntu1:~/77$ sudo -s -H

root@shubuntu1:/home/shubuntu1/77# cd /var/lib/docker/volumes/77_my_data/_data

root@shubuntu1:/var/lib/docker/volumes/77_my_data/_data# echo 'echo "hello"' >> profile

/etc/profile在我們對主機(jī)進(jìn)行更改后再次檢查in 容器:


shubuntu1@shubuntu1:~/77$ docker exec 77_frontend_1 cat /etc/profile

export CHARSET=UTF-8

export.UTF-8

export PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

export PAGER=less

export PS1='\h:\w\$ '

umask 022


for script in /etc/profile.d/*.sh ; do

? ? if [ -r $script ] ; then

? ? ? ? ? ? . $script

? ? fi

done

echo "hello"

我們可以看到echo "hello"我們在主機(jī)上添加的內(nèi)容已經(jīng)在容器中看到了。


查看完整回答
反對 回復(fù) 2023-05-17
  • 1 回答
  • 0 關(guān)注
  • 164 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號