2016-08-05 167 views
1

我用docker-compose運行我的container。在docker-compose.yml如山的數據量:如何編輯集裝箱碼頭中的文件編輯器

version: '2' 
services: 

### Workspace containter 
workspace: 
    build: ./workspace 
    volumes_from: 
    - volume_src 

volume_src: 
    build: ./volume/src 
    volumes: 
    - ./src:/var/www/html 

我ssh容器workspace作爲許可root

docker-compose exec workspace bash

[email protected]:/var/www/html#

我摸到一個文件:touch a.php

然後我去了我的主機上的文件夾中的源代碼src。我用我的sublime text進行編輯。但權限不能保存。

[email protected]:~/web/src$ 
drwxr-xr-x 10 root root 4096 Th08 4 15:15 a.php 

我如何通過編輯器(不permision)

+0

你嘗試或者通過在容器內或通過從主機須藤根用戶對文件更改權限? – ldg

+0

@ldg:如果我改變我的許可一個文件是okie。但我希望在容器上創建的所有文件始終在我的主機上編輯。因爲我通過root用戶ssh,所以我在容器上創建的所有文件都被授權了'root'。然後他們用'root'權限登錄到我的主機。當然,如果我不使用「root」權限,我可以編輯文件。 –

+0

檢查主機中是否存在名爲「docker」的組,如果沒有,則創建它。將您想要登錄的用戶添加到該組中。有關這方面的更多信息,請參閱安裝部分中的Docker文檔:https://docs.docker.com/engine/installation/linux/ubuntulinux/#/create-a-docker-group – ldg

回答

0

注意如何觸摸文件a.php屬於root用戶編輯文件的數據量?

在您的命令行代碼片段中,您仍以用戶datnq的身份登錄。 因此,在您可以對文件進行任何操作之前,您應該首先以root的身份登錄。

假設你在[email protected]:~/web/src$

務必:
sudo -s subl a.php

+0

謝謝@ Samuel Toh:我明白了。我試過你的方式。它工作正常! '請注意觸及的文件a.php是由root擁有的嗎? '=>我在容器中創建了文件'a.php'(SSH以root身份)。所以它同步到我的主機'src'屬於root。 ''datnq @ quocdat-pc:〜/ web/src $' '-rw-r - r-- 1 root root 0 Th08 5 09:35 a.php' –

+0

我可以在容器內創建文件,而不是通過root權限同步? –

+0

看看你在那個文件上的權限,它看起來好像不是root用戶自己可以讀,寫和執行。世界上的許可只是建議'只讀和執行'。可能試着在容器中做chmod'757 a.php',看看主機上的'subl a.php'是否工作。 @QuocDat讓我知道它是否工作 –