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

Docker容器中掛載NFS共享目錄的實現(xiàn)

 更新時間:2021年02月19日 11:16:10   作者:fengbingchun  
這篇文章主要介紹了Docker容器中掛載NFS共享目錄的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧

之前在http://www.fzitv.net/article/205922.htm 介紹過使用Dockerfile構(gòu)建ubuntu 16.04鏡像,并在容器中編譯執(zhí)行Messy_Test項目.這里介紹下如何在容器中掛載NFS服務(wù)器上的共享目錄.

Dockerfile內(nèi)容如下:

FROM ubuntu:16.04
LABEL maintainer="FengBingchun fengbingchun@163.com" \
   version="1.0" \
   description="dockerfile test"
RUN dep_items='git g++-5 nfs-common make' \
  && apt-get update \
  && apt-get install -y $dep_items \
  && ln -s /usr/bin/g++-5 /usr/bin/g++ \
  && ln -s /usr/bin/gcc-5 /usr/bin/gcc \
  && mkdir -p /mnt/nfs \
  && rm -rf /var/lib/apt/lists/*

構(gòu)建鏡像,執(zhí)行以下命令后會成功生成名字為fengbingchun/ubuntu:16.04的鏡像:

docker build -t fengbingchun/ubuntu:16.04 .

通過掛載主機目錄,新建容器test,執(zhí)行以下命令中的一條,推薦使用第一條:

docker run --cap-add sys_admin -it -P --name test --mount type=bind,source=e:\GitCode\docker,target=/home/fengbingchun fengbingchun/ubuntu:16.04 /bin/bash
docker run --privileged=true -it -P --name test --mount type=bind,source=e:\GitCode\docker,target=/home/fengbingchun fengbingchun/ubuntu:16.04 /bin/bash

在容器內(nèi)依次執(zhí)行如下命令進行掛載,假設(shè)nfs服務(wù)器ip為10.107.2.1,共享目錄為shared:

/etc/init.d/rpcbind start
mount -t nfs 10.107.2.1:/shared /mnt/nfs

創(chuàng)建軟鏈接,并將cmake可執(zhí)行文件路徑加入環(huán)境變量,依次執(zhí)行如下命令:

ln -s /mnt/nfs/Ubuntu-16.04/ /usr/local/toolchains
echo "export PATH=/usr/local/toolchains/bin:$PATH" >> /etc/profile
source /etc/profile

因此創(chuàng)建鏡像時并沒有安裝cmake,執(zhí)行source命令后,執(zhí)行cmake --version可看到cmake版本相關(guān)信息,如下圖所示:

然后在容器內(nèi),cd到/home/fengbingchun目錄下,clone Messy_Test執(zhí)行以下命令:

git clone https://github.com/fengbingchun/Messy_Test

然后cd到Messy_Test/prj/linux_cmake_CppBaseTest目錄下,依次執(zhí)行如下命令:

./build.sh
./build/CppBaseTest

執(zhí)行結(jié)果如下圖所示,說明通過Dockerfile構(gòu)建的鏡像,并在容器內(nèi)掛載NFS共享目錄后,通過共享目錄中的cmake可正常編譯執(zhí)行Messy_Test:

在容器內(nèi)也可查看NFS服務(wù)器共享了哪些目錄,執(zhí)行以下命令:

showmount -e 10.107.2.1

保存鏡像fengbingchun/ubuntu:16.04到tar包,執(zhí)行以下命令:

docker save -o ubuntu_16.04.tar fengbingchun/ubuntu:16.04

將ubuntu_16.04.tar拷貝到ubuntu系統(tǒng)下,從tar包加載一個鏡像,執(zhí)行以下命令:

docker load -i ubuntu_16.04.tar

然后執(zhí)行windows上類似的操作,在新創(chuàng)建的容器test中編譯、執(zhí)行Messy_Test,依次執(zhí)行如下命令:

docker run --privileged=true -it -P --name test --mount type=bind,source=/home/xxxx/Disk/GitHub/docker,target=/home/fengbingchun fengbingchun/ubuntu:16.04 /bin/bash
/etc/init.d/rpcbind start
mount -t nfs 10.107.2.1:/shared /mnt/nfs
ln -s /mnt/nfs/Ubuntu-16.04/ /usr/local/toolchains
echo "export PATH=/usr/local/toolchains/bin:$PATH" >> /etc/profile
source /etc/profile
cd /home/fengbingchun/
git clone https://github.com/fengbingchun/Messy_Test
cd Messy_Test/prj/linux_cmake_CppBaseTest/
./build.sh
./build/CppBaseTest

執(zhí)行結(jié)果如下圖所示:說明在Windows上生成的鏡像打包后,在Ubuntu上load后可正常使用:

注意:

(1).在ubuntu上,創(chuàng)建容器時要使用"--privileged=true",否則執(zhí)行掛載時會報"mount.nfs: access denied by server while mounting 10.107.2.1:/shared"的錯誤;

(2).在Windows上有時在容器中會有卡死的現(xiàn)象,可刪除此容器,然后再新建容器.

到此這篇關(guān)于Docker容器中掛載NFS共享目錄的實現(xiàn)的文章就介紹到這了,更多相關(guān)Docker掛載NFS共享目錄內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • ubuntu系統(tǒng)使用docker gitlab 磁盤空間滿的問題及解決

    ubuntu系統(tǒng)使用docker gitlab 磁盤空間滿的問題及解決

    這篇文章主要介紹了ubuntu系統(tǒng)使用docker gitlab 磁盤空間滿的問題及解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-05-05
  • Docker容器如何訪問宿主機的Mysql數(shù)據(jù)庫

    Docker容器如何訪問宿主機的Mysql數(shù)據(jù)庫

    使用Docker能實現(xiàn)服務(wù)的容器化,并使用容器間網(wǎng)絡(luò)在它們之間進行通信,下面這篇文章主要給大家介紹了關(guān)于Docker容器如何訪問宿主機的Mysql數(shù)據(jù)庫,需要的朋友可以參考下
    2024-04-04
  • 解決docker中ifconfig不可用的問題

    解決docker中ifconfig不可用的問題

    這篇文章主要介紹了解決docker中ifconfig不可用的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-03-03
  • 淺析docker-compose部署mysql無法訪問的問題

    淺析docker-compose部署mysql無法訪問的問題

    Compose 是 Docker 容器進行編排的工具,定義和運行多容器的應(yīng)用,可以一條命令啟動多個容器,使用Docker Compose不再需要使用shell腳本來啟動容器。接下來通過本文給大家分享docker-compose部署mysql無法訪問的問題,需要的朋友參考下吧
    2018-10-10
  • iptables如何限制宿主機跟Docker IP和端口訪問(安全整改)

    iptables如何限制宿主機跟Docker IP和端口訪問(安全整改)

    本文詳細介紹了如何通過iptables對網(wǎng)絡(luò)訪問進行限制,包括限制特定IP或網(wǎng)段訪問特定服務(wù),以及在Docker環(huán)境下,如何設(shè)置DOCKER-USER鏈限制IP和端口訪問,確保網(wǎng)絡(luò)安全
    2024-10-10
  • 解決docker容器與宿主機相差8小時的問題

    解決docker容器與宿主機相差8小時的問題

    使用docker-compose部署時,在輸出的日志以及相關(guān)事件校驗及輸出時,導致事件與現(xiàn)實相差8小時。糾結(jié)怎么回事呢?下面小編給大家分享下解決docker容器與宿主機相差8小時的問題,一起看看吧
    2021-09-09
  • Docker容器服務(wù)編排利器詳解

    Docker容器服務(wù)編排利器詳解

    這篇文章主要介紹了Docker容器服務(wù)編排利器,主要包括使用使用Docker?Compose必要性及定義及一些Docker?Compose應(yīng)用參考資料,本文給大家介紹的非常詳細,需要的朋友可以參考下
    2022-07-07
  • 解決docker中mysql時間與系統(tǒng)時間不一致問題

    解決docker中mysql時間與系統(tǒng)時間不一致問題

    最近在Docker中裝mysql時,發(fā)現(xiàn)數(shù)據(jù)庫時間與系統(tǒng)時間相差8個小時。查詢資料發(fā)現(xiàn),docker的默認時區(qū)是0區(qū),其實這會對安裝的容器造成不少麻煩,比如執(zhí)行日志的記錄不準確等
    2021-12-12
  • 聊聊kubernetes1.20用containerd替換docker(shim)的問題

    聊聊kubernetes1.20用containerd替換docker(shim)的問題

    這篇文章主要介紹了kubernetes1.20用containerd替換docker(shim),本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-03-03
  • docker安裝redmine步驟

    docker安裝redmine步驟

    在本篇文章里小編給大家整理的是關(guān)于docker安裝redmine步驟和相關(guān)代碼,需要的朋友們學習下。
    2020-01-01

最新評論

错那县| 黄石市| 达拉特旗| 定结县| 辽宁省| 保定市| 上高县| 安顺市| 泸西县| 滦平县| 佛教| 观塘区| 福清市| 泰兴市| 容城县| 葫芦岛市| 长治市| 凤台县| 左云县| 会宁县| 霍城县| 梧州市| 鄂托克前旗| 高碑店市| 昌都县| 犍为县| 樟树市| 华阴市| 博白县| 正宁县| 三穗县| 东乌珠穆沁旗| 府谷县| 唐山市| 若羌县| 定州市| 台北市| 奇台县| 文化| 武威市| 綦江县|