您好,登錄后才能下訂單哦!
小編給大家分享一下Dockers容器的使用示例,希望大家閱讀完這篇文章之后都有所收獲,下面讓我們一起去探討吧!
運行一個容器,給它一個名稱,例如:
docker run -d -p 0.0.0.0:4455:22 -p 0.0.0.0:8080:80 --name one centos6-ssh
再運行另一個容器
docker run -d -p 0.0.0.0:4456:22 -p 0.0.0.0:8088:80 --link /one:two centos6-ssh3 env
說明:
/one:two
one是第一個容器的名稱,two是第二個容器的名稱,
env是打印出來 第二個容器的環境變量
這樣兩容器就建立起一個網絡通道,one和two容器所開放的端口也就是Dockerfile文件中定義開放的端口就可以連通了,
在宿主機上使用iptables命令來查看,例如:
iptables -L -n Chain FORWARD (policy ACCEPT) target prot opt source destination ACCEPT tcp -- 172.17.1.28 172.17.1.29 tcp spt:3306 ACCEPT tcp -- 172.17.1.29 172.17.1.28 tcp dpt:3306 ACCEPT tcp -- 172.17.1.28 172.17.1.29 tcp spt:22 ACCEPT tcp -- 172.17.1.29 172.17.1.28 tcp dpt:22
從這里看到兩個容器間端口可以互相的訪問了,
說明:
這里的端口是以one這個容器所開放的端口,如one開放22,3306,而two容器只開放了22,在two上也會放3306給one,反之就不行了。--link是以連接容器開放的端口為準的。
一個數據卷就是經過特殊設計的,在一個或多個容器中通過UFS文件系統提供的一些特性
實現數據持久化或共享.
數據卷可以在容器之間共享和重復利用
可以對數據卷里的內容直接進行修改
對鏡像的更新不會改變數據卷的內容
卷會一直持續到沒有容器使用他們
可以使用帶有 -v 參數的 docker run 命令給容器添加一個數據卷.
docker run -d -p 0.0.0.0:4445:22 --name data -v /data centos6-ssh
這個在容器里就會有一個/data的卷
在Dockefile中使用VOLUME指令來創建添加一個或多個數據卷
使用-v參數也可以掛載宿主的文件夾到容器里
docker run -d -p 0.0.0.0:44455:22 --name data1 -v /src/data:/opt/data centos6-ssh
這樣會把本地的/src/data文件夾掛在容器/opt/data目錄
宿主機上的文件夾必須是絕對路徑,而且當文件夾不存在時會自動創建
此功能在Dockerfile文件中無法使用
默認情況下Docker以讀寫權限掛載數據卷,但是我們也可以以只讀方式進行掛載
docker run -d -p 0.0.0.0:44455:22 --name data1 -v /src/data:/opt/data:ro centos6-ssh
還是上面的那個命令,只是我們添加了一個ro選項來制定掛載時文件權限應該是只讀的
如果一些數據需要在容器間共享最好的方式來創建一個數據卷容器,然后從數據卷容器中掛載數據
docker run -d -v /dbdata --name dbdata centos6-ssh
docker run -d --volumes-from dbdata --name db1 centos6-ssh3
docker run -d --volumes-from dbdata --name db2 centos6-ssh4
可以使用多個 -–volumes-from 參數來把多個容器中的多個數據卷放到一起
可以掛載通過掛載dbdata容器實現的容器db1和db2來擴展關系鏈,例如:
docker run -d --name db2 --volumes-from db1 centos6-ssh5
使用它們來進行備份,恢復或遷移數據.如下所示,我們使用
–volumes-from 標記來創建一個掛載了要備份數據卷的容器.
docker run --volumes-from dbdata -v $(pwd):/backup centos6-ssh tar cvf /backup/backup.tar /dbdata
這里我們創建并登錄了一個新容器,掛載了dbdata容器中的數據卷,并把本地的一個目錄掛載了/backup下,最后再傳一條tar命令來備份dbdata卷到/backup下,當命令執行完成后容器就會停止運行,并保留dbdata的備份,在本地目錄下會一個備份的文件
注:新創建的容器中要有tar命令,
得到備份數據就可以恢復或遷移數據了
看完了這篇文章,相信你對“Dockers容器的使用示例”有了一定的了解,如果想了解更多相關知識,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。