簡體   English   中英

Docker:在容器內使用非root用戶執行命令

[英]Docker: executng commands with non-root user inside container

我有一個基於Docker注冊表中Debian Wheezy映像的自定義Docker容器。 我想和流浪者一起使用它(與docker-provider一起使用),所以我創建了一個新用戶(流浪用戶),該圖像保存在我們的存儲庫中。 在本地計算機上一切正常,我可以簡單地使用它,su vagrant可以正常工作。 我的機器是:

Linux ###### 3.13.8-1-ARCH #1 SMP PREEMPT Tue Apr 1 12:19:51 CEST 2014 x86_64 GNU/Linux

有些機器根本沒有問題。 但是在其他機器上

Linux ###### 3.13.7-1-MANJARO #1 SMP PREEMPT Mon Mar 24 19:44:00 UTC 2014 x86_64 GNU/Linux

Linux ###### 3.8.0-32-generic #47-Ubuntu SMP Tue Oct 1 22:35:23 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux

我有這個問題:

docker run -ti example.com:5000/wheezy /bin/bash
root@385af4fd6f17:/# su vagrant
Cannot execute /usr/bin/zsh: Permission denied
root@385af4fd6f17:/# 

我的機器上和其他一些機器上完全相同的命令完全沒有問題。 在最后兩台有問題的計算機中,root用戶可以正常工作,但是我不能在非root用戶上運行任何命令(我在當前會話中創建了另一個新用戶,沒有運氣)

這是因為該錯誤: https : //github.com/dotcloud/docker/issues/4068

使用devicemapper作為存儲驅動程序的機器可以,但是aufs存儲存在此錯誤。 將docker存儲更改為devicemapper(docker -d -s = devicemapper)或使用git版本(當前0.9.1具有此錯誤)修復了此問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM