docker?掛載、修改文件的步驟
docker 掛載、修改文件
前段時間咱們使用Docker安裝了Nginx并且系統(tǒng)學(xué)習(xí)了Nginx的相關(guān)知識,其中有一節(jié)是修改Nginx的配置達(dá)到方向代理的效果。咱們使用的是docker的 copy 命令從容器中 copy 出來相關(guān)的配置文件,在本地修改,修改完畢在使用docker的 copy 命令從本地 copy 到容器中,重啟容器生效的。咱們的操作也是相當(dāng)?shù)馁M勁,俗話說條條大路通羅馬,那有沒有其他的方式可以更快捷的達(dá)到咱們想要的效果呢,答案當(dāng)然毋庸置疑,今天咱們就整理下修改docker容器中的文件的幾種方式,希望可以幫助大家。
先說結(jié)論在看實踐。修改docker容器中的文件有三種方式,各有有缺點。
第一種:在docker中安裝 vim 工具,這樣做的優(yōu)點就是容器創(chuàng)建的時候安裝一次,以后就直接使用命令修改操作文件,方便快捷。缺點就是容器銷毀的時候就丟失了,下次容器創(chuàng)建的時候還需要重新安裝。
第二種:使用docker 的 copy 命令將docker容器中的文件copy到本地修改,在用docker 的copy命令將修改好的文件復(fù)制回容器,優(yōu)點是不需要安裝和操作任何配置,缺點當(dāng)然顯而易見,每次修改都要進(jìn)行好幾次的copy,費時費力。
第三種:當(dāng)然是“掛載”,所謂掛載就是將容器的文件和本地的文件進(jìn)行映射,修改本地文件就相當(dāng)于修改了容器中的文件,優(yōu)點就是方便不用進(jìn)入容器內(nèi)部就可以修改文件,并且不用頻繁的 copy,這樣對比下來大家都能看出來采用掛載是最有的解決方案,咱們本次記錄都會記錄下,然后大家分別嘗試練習(xí)。
第一種:安裝工具
因為容器是與本地幾乎隔絕的,所以我們要先安裝vim。安裝完成后就可以修改配置文件了。
1. 先更新包管理
apt-get update
2. 安裝vim
apt-get install vim
時間比較慢,如果有找到如何更新安裝源的小伙伴貼到評論區(qū)分享下
第二種:docker copy命令
docker 的copy修改容器文件分為兩個步驟,第一步:從容器中copy文件到本地“從docker中cp文件到本地”,第二步:從本地copy文件到容器“從本地cp文件到docker容器”,注意容器文件位置和提前創(chuàng)建好本地文件的位置。
# 從docker中cp文件到本地 sudo docker cp 容器Id:/etc/nginx/conf.d/default.conf /Users/liluyang/mydocker # 從本地cp文件到docker容器 sudo docker cp /Users/liluyang/mydocker/default.conf 容器Id:/etc/nginx/conf.d/ # 重啟容器生效 docker restart 容器ID
第三種:docker 掛載
docker 掛載就是將docker原來存在于容器中的文件,映射到本次服務(wù)器的磁盤上,這樣做的好處就是修改文件方便,并且容器刪除不應(yīng)熙哪個掛載的文件,容器重新創(chuàng)建的時候還可以重復(fù)利用。也有兩種方式可以采用控制臺掛在也可以采用命令掛在咱們都梳理一下。
第一種:控制臺掛載
第一步:準(zhǔn)備工作
首先在咱們本地創(chuàng)建要掛載的目標(biāo)掛在路徑。我已經(jīng)在本地創(chuàng)建好了掛載目標(biāo)路徑,并且窗景了項目的目錄文件。
<html> <head> <title>Welcome to nginx!</title> <style> body { width: 35em; margin: 0 auto; font-family: Tahoma, Verdana, Arial, sans-serif; } </style> </head> <body> <h1>hello docker nginx 111!</h1> </body> </html>
第二步:配置
打開控制臺找到對應(yīng)的鏡像。咱們選中nginx,點擊后面的run,點擊optional setting進(jìn)行相關(guān)配置。其中比較重要的我都標(biāo)記出來了,首先是映射端口,為了防止沖突我設(shè)置為8089,接下來是掛載的目標(biāo)路徑。就是上面咱們準(zhǔn)備工作所創(chuàng)建的本地路徑:/Users/liluyang/docker/volumes/nginxVolume/index。接下來是被掛載路徑,就是咱們?nèi)萜魃系穆窂剑疫@里選擇的是項目目錄。
第三步:運行
配置完畢,點擊“run”走你。使用docker命令查看 docker ps。
第四步:驗證
瀏覽器輸入localhost:8088,是沒有掛載的文件的結(jié)果。
瀏覽器輸入localhost:8089,是掛載了的文件的結(jié)果。
第二種:命令掛載
docker掛載的第二種方式就更簡單了,采用命令掛載。咱們使用命令掛載的容器名稱叫“docker_nginx”,監(jiān)聽的端口是8010,并且掛在和8089那個容器一樣。
docker run --name docker_nginx -d -p 8010:80 -v /Users/liluyang/docker/volumes/nginxVolume/index:/usr/share/nginx/htmlnginx
驗證也沒問題,結(jié)果一樣。
實踐:文件修改
前面介紹了幾種修改文件的準(zhǔn)備工作,接下來就實際操作一下看看效果。關(guān)于第二種docker copy命令修改文件,大家可以看看“Docker Nginx 反向代理”這篇文章里面就是使用的命令方式修改文件,這里不做贅述了。http://www.dbjr.com.cn/article/242320.htm。接下來咱們看看掛載修改文件的效果。這里我修改了一下文件內(nèi)容并保存。
可以看到http://localhost:8010/,http://localhost:8089/都生效了,是不是很簡單方便呢。
到此這篇關(guān)于docker 掛載、修改文件的文章就介紹到這了,更多相關(guān)docker 掛載文件修改內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Mac?M1?Docker如何運行nacos2.0.3(若依微服務(wù)框架)
這篇文章主要介紹了Mac?M1?Docker如何運行nacos2.0.3(若依微服務(wù)框架),具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2023-12-12docker安裝java環(huán)境的實現(xiàn)步驟
這篇文章主要介紹了docker安裝java環(huán)境的實現(xiàn)步驟,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-12-12MySQL容器中docker-entrypoint-initdb.d目錄的使用
這篇文章主要介紹了MySQL容器中docker-entrypoint-initdb.d目錄的使用方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-05-05