首先介紹下今天的兩個主角:nfs和docker
這個就不多說了,近兩年乙個非常流行的東西哦。
from ubuntu
env debian_frontend noninteractive
run apt-get update -qq && apt-get install -y nfs-kernel-server runit inotify-tools -qq
run mkdir -p /exports
volume /exports
expose 111/udp 2049/tcp
docker build -t=scottkiss/nfs .
執行該命令需要一段時間,成功後執行
docker images
將會看到本地剛剛建立nfs的docker映象
執行
docker run -it --name nfs-server --privileged scottkiss/nfs
執行完畢後進入容器終端
修改配置
vi /etc/exports
在末尾加入
/exports *(rw,sync,no_subtree_check,fsid=0,no_root_squash)
然後執行
exportfs -r
接著啟動rpcbind服務
service rpcbind start
最後啟動nfs服務
service nfs-kernel-server start
至此,不出意外,已經成功的啟動了nfs伺服器,並且將/exports目錄共享了出去。這裡,筆者在開始的時候遇到一坑, 就是啟動時候需要加上–privileged引數,否則啟動nfs服務時候會提示許可權不足報錯。主要是這個過程中涉及到了mount操作, 使用該引數後使得container內的root擁有真正的root許可權,這樣就不會報錯了。
客戶端就簡單多了,不需要像伺服器那樣配置了。 執行
docker run -it --link nfs-server:nfs --privileged scottkiss/nfs
進入容器終端。然後執行
service rpcbind start
接著執行遠端掛載命令
mount -t nfs -o proto=tcp,port=2049 $nfs_port_2049_tcp_addr:/exports /home
這樣,便將伺服器的exports目錄掛載到了客戶端的home目錄了。
迫不及待的可以試試了,如在server終端的/exports目錄下新增乙個檔案,在client的/home下也會同步新增。
這裡涉及的主要就是–link引數,這個引數就是告訴docker容器需要使用nfs-server這個容器並將其別名命名為nfs。這樣,就可以使用$nfs_port_2049_tcp_addr來獲取伺服器ip了。
以上所有只是為了測試而做的乙個粗糙的方案,還有很多改進之處,包括dockerfile,這裡為了便於試驗,盡量使用了簡單粗暴的方式。
##文件資訊
原文**:
使用docker搭建gitlab
github上開源映象位址 建立私有key,生成簽名需要的csr,證書簽名,提供dhe引數而後建立資料夾certs,將dhparam.pem,gitlab.crt,gitlab.key放進去。mv資料夾certs到 opt gitlab data 下。參考 ssl 注 1.gitlab host g...
使用docker搭建tomcat,mysql服務
搭建環境 ubuntu16.04 lts x64 簡單粗暴這裡使用deb包安裝docker執行環境安裝 sudo dpgk i docker ce 18.06.0 ce 3 0 ubuntu amd64.deb ps 如果提示缺少依賴,安裝對應依賴包就可以。docker pull tomcat 8....
使用docker搭建nextcloud
nextcloud 是基於雲技術的工程教育平台,利用雲技術,提高工程教育過程中教學 實驗與創新的效率與效果。1.今天只做nextcloud 記錄與講解,當前現在很多開源網盤很好用,都可以去嘗試自己去搞一下 主要特點 1 開源且免費,可以自定義外掛程式開發 2 全客戶端的支援,免費更好,ui還算不錯 ...