Docker學習(五) Docker Compose Volumes
volumes的作用有點類似於VMware裡面的共享目錄,用於將物理主機裡的目錄對映到docker虛擬機器裡。
通常用法
version: '2' networks: thinking: services: test_1.thinking.com: image: ubuntu ports: - "3333:3333" container_name: test_1.thinking.com command: /bin/bash volumes: - $PWD/:/test_pwd tty: true networks: - thinking test_2.thinking.com: image: ubuntu ports: - "4444:4444" container_name: test_2.thinking.com command: /bin/bash tty: true networks: - thinking
其中
volumes:
- $PWD/:/test_pwd
表示將物理機的當前目錄對映到docker虛擬機器/test_pwd裡面。
執行
$ docker-compose -f test_voloumes.yaml up -d
Creating network "desktop_thinking" with the default driver
Creating test_1.thinking.com ... done
Creating test_2.thinking.com ... done
$ docker exec -it test_1.thinking.com /bin/bash
[email protected]
bin dev home lib64 mnt proc run srv test_pwd usr
boot etc lib media opt root sbin sys tmp var
[email protected]:/# ls /test_pwd/
docker-compose-test.yml docker-compose.yml test test_voloumes.yaml
可以看到對映成功了。
特殊用法
在研究fabric專案的時候還發現有另外一種用法
version: '2' volumes: test_1.thinking.com: test_2.thinking.com: networks: thinking: services: test_1.thinking.com: image: ubuntu ports: - "3333:3333" container_name: test_1.thinking.com command: /bin/bash volumes: - test_1.thinking.com:/test - $PWD/:/test_pwd tty: true networks: - thinking test_2.thinking.com: image: ubuntu ports: - "4444:4444" container_name: test_2.thinking.com command: /bin/bash tty: true networks: - thinking
試一下
$ docker-compose -f test_voloumes.yaml up -d
Creating volume "desktop_test_1.thinking.com" with default driver
Creating volume "desktop_test_2.thinking.com" with default driver
Recreating test_1.thinking.com ...
Recreating test_1.thinking.com ... done
$ docker volume ls
DRIVER VOLUME NAME
local desktop_test_1.thinking.com
local desktop_test_2.thinking.com
$ docker volume inspect desktop_test_1.thinking.com
[
{
"CreatedAt": "2018-06-06T02:37:41-07:00",
"Driver": "local",
"Labels": null,
"Mountpoint": "/var/lib/docker/volumes/desktop_test_1.thinking.com/_data",
"Name": "desktop_test_1.thinking.com",
"Options": null,
"Scope": "local"
}
]
這看起來意思是volume test_1.thinking.com對應的物理機是/var/lib/docker/volumes/desktop_test_1.thinking.com/_data,對映到docker虛擬機器裡面是/test,檢驗一下
$ docker exec -it test_1.thinking.com /bin/bash
[email protected]:/# ls
bin dev home lib64 mnt proc run srv test tmp var
boot etc lib media opt root sbin sys test_pwd usr
[email protected]:/# mkdir -p /test/fuck
到物理機裡面去看
$ ls /var/lib/docker/volumes/desktop_test_1.thinking.com/_data
ls: cannot access '/var/lib/docker/volumes/desktop_test_1.thinking.com/_data': Permission denied
$ sudo ls /var/lib/docker/volumes/desktop_test_1.thinking.com/_data
fuck
果然如此。
相關推薦
Docker學習(五) Docker Compose Volumes
volumes的作用有點類似於VMware裡面的共享目錄,用於將物理主機裡的目錄對映到docker虛擬機器裡。通常用法version: '2' networks: thinking: services: test_1.thinking.com: ima
docker學習(五)—— docker容器網路
ip netns管理網路名稱空間 檢視幫助: [[email protected] ~]# ip netns help Usage: ip netns list ip netns add NAME ip netns set
docker 學習(五) virtualBox虛擬機安裝docker
問題 spring servers rtu info fig 很多 配置 doc 這裏計劃用virtualBox虛擬機安裝兩個ubuntu servers, 然後用docker把spring boot項目部署上去,模擬一下分布式的微服務情況。 1:安裝virtualbox,
win10系統docker學習(一)——docker安裝
tle png 問題: 方案 start htm 完成後 系統 mage windows系統中目前有兩種安裝docker的方式,分別為boot2docker和docker toolbox。按照官方說明和實際安裝過程來講,推薦使用docker toolbox方
Docker學習(一)Docker Machine基本使用--命令集
1、參考命令幫助或官方文件 docker-machine help [COMMAND] https://docs.docker.com/machine/reference/ 2、version/help --檢視版本和幫助 create/rm --建立/刪除一個Doc
docker學習(三)docker命令大全,歸納總結
容器生命週期管理run docker run :建立一個新的容器並執行一個命令start/stop/restartdocker start :啟動一個或多少已經被停止的容器docker stop :停止一個執行中的容器docker restart :重啟容器kil
docker學習(一)——docker基礎技術概念入門
容器: container 容器是啥?https://zh.wikipedia.org/wiki/%E5%AE%B9%E5%99%A8 LXC:Linux Container 虛擬化的常用技術實現形式: 1.主機級虛擬化 Type
docker學習(二)——docker的基本概念及基礎使用
一張圖概括整篇文章內容: 來自:https://medium.com/@nagarwal/lifecycle-of-docker-container-d2da9f85959 lxc->libcontainer->runC OCI(Open Container I
docker學習(六)—— docker儲存卷
參考:https://www.imooc.com/article/26316 Docker映象由多個只讀層疊加而成,啟動容器時,Docker會載入只讀映象層並在映象棧頂部新增一個讀寫層 如果執行中的容器修改了一個現有的一個已存在的檔案,那該檔案將會從讀寫層下面的只讀層複製到讀寫層,該
docker學習(三)—— docker映象概念,映象的基本操作
docker參考手冊:https://docs.docker.com/engine/reference/commandline/dockerd/ daemon.json參考:https://docs.docker.com/engine/reference/commandline/docker
docker 學習(九) docker部署靜態網站
span 生成 docs cnblogs containe run gen .cn amp 原文:docker 學習(九) docker部署靜態網站一: dockerfile, 把Dockerfile和myfolder放在一個目錄下: FROM httpd:2.4
Docker學習(二)- Docker 安裝 Jenkins
## 一、拉取映象 我這裡安裝的版本是2.222.3-centos,可以去這裡獲取你需要的版本: https://hub.docker.com/_/jenkins?tab=tags ```shell docker pull jenkins/jenkins:2.222.3-centos ``` ## 二、建立本
Docker學習筆記(五)-Docker Compose
背景 很多應用是很複雜的,需要多個容器共同支援,任何複雜的系統可能需要啟動的容器數量也很龐大,我們需要從Dockerfile build image或者docker hub拉取多個image,要建立並管理多個container,這個工作量是巨大的,docker
docker學習筆記(五)——Docker常用命令總結
docker學習筆記 docker常用命令總結 1. 開啟/停止/重啟container(start/stop/restart)容器可以通過run新建一個來運行,也可以重新start已經停止的container,但start不能夠再指定容器啟動時運行的指令,因為docker只能有一個前臺進程。容器st
Docker | 學習系列 (五)Docker容器常用命令
本節我們來討論Docker容器的常用命令。 新建並啟動容器[重要]使用以下docker run 命令即可新建並啟動一個容器。該命令是我們最常用的命令了,它有很多選項,下面筆者列舉一些常用的選項。① -d選項:表示後臺執行② -P選項:隨機埠對映③ -p選項:指定埠對映,有以下四種格式。ip:h
Docker基礎學習(五)-Dockerfile命令詳解(超全版本)
製作Dockerfile為Docker入門學習的第一步(當然,除了環境搭建)。 本文收集、整理了官網關於製作Dockerfile的全部命令(除SHELL沒整理,這個就不弄了),可幫助大家快速進入Dockfile製作的學習。 以下為正文,下面進入學習姿勢吧!
(五)Docker鏡像管理3之上傳鏡像
鏡像 push 阿裏雲 我這裏使用自行在阿裏雲註冊的雲服務(免費)首先創建命名空間創建倉庫選擇你所在的區域,這樣是為了速度更快、輸入倉庫名稱、摘要、倉庫類型如果只是自己用就選擇“私有”、如果不需要做自動部署可以選擇“本地部署”建立好之後查看,點擊管理;rexcheny是用戶名、mycentos6是
Win10下Docker學習(1)安裝
ner table 組成 高效率 down 提高 打開 cpu 其他人 Docker簡介 Docker 是一個開源的應用容器引擎,讓開發者可以打包他們的應用以及依賴包到一個可移植的容器中,然後發布到任何流行的 Linux 機器上,也可以實現虛擬化。容器是完全使用沙箱機制,
docker 學習(2)
ins -s line 分配 table date world color not found docker容器中安裝vim ubuntu 中默認未裝vim,docker run ubuntu vim 出現: container_linux.go:247: starting
Docker學習(1)安裝
www. ati https 機制 生產環境 開機啟動 works tab 流行 1. Docker簡介 Docker 是一個開源的應用容器引擎,讓開發者可以打包他們的應用以及依賴包到一個可移植的容器中,然後發布到任何流行的 Linux 機器上,也可以實現虛擬化。容器是完全