Linux 使用绑定卷运行Docker Jenkins容器抛出日志文件访问错误

Linux 使用绑定卷运行Docker Jenkins容器抛出日志文件访问错误,linux,docker,jenkins,volume,mount,Linux,Docker,Jenkins,Volume,Mount,我想把詹金斯放在一个容器里。 我正在从docker hub的官员jenkins那里拉并试图运行这个容器 我是以root用户的身份在/root中的AmazonAWSEC2机器上执行此操作的 以下是我所拥有的: root@ip-172-31-27-169:~# pwd /root root@ip-172-31-27-169:~# whoami root root@ip-172-31-27-169:~# ls -al total 32 drwx------ 4 root root 409

我想把詹金斯放在一个容器里。 我正在从docker hub的官员jenkins那里拉并试图运行这个容器

我是以root用户的身份在/root中的AmazonAWSEC2机器上执行此操作的

以下是我所拥有的:

root@ip-172-31-27-169:~# pwd
/root

root@ip-172-31-27-169:~# whoami

root

root@ip-172-31-27-169:~# ls -al 

total 32

drwx------  4 root root 4096 Jul 20 15:39 .

drwxr-xr-x 24 root root 4096 Jul 20 06:59 ..

-rw-------  1 root root 1934 Jul 20 09:00 .bash_history

-rw-r--r--  1 root root 3106 Oct 22  2015 .bashrc

drwxr-xr-x  2 root root 4096 Jul 20 15:25 jenkins_home

-rw-r--r--  1 root root  148 Aug 17  2015 .profile

drwx------  2 root root 4096 Jul 20 04:52 .ssh

-rw-------  1 root root 2994 Jul 20 15:36 .viminfo

root@ip-172-31-27-169:~# docker ps -a

CONTAINER ID        IMAGE               COMMAND                  CREATED              STATUS                          PORTS               NAMES

cdde4f2e9d55        jenkins             "/bin/tini -- /usr..."   About a minute ago   Exited (1) About a minute ago                       gifted_swirles

64a6f038e1bc        jenkins             "/bin/tini -- /usr..."   2 minutes ago        Exited (1) About a minute ago                       compassionate_brown

55ae36a27756        jenkins             "/bin/tini -- /usr..."   6 minutes ago        Exited (1) 6 minutes ago                            xenodochial_fermat

c6c48ef6b917        jenkins             "/bin/tini -- /usr..."   6 minutes ago        Exited (1) 6 minutes ago                            kind_hoover


root@ip-172-31-27-169:~# docker images

REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE

jenkins             latest              f426a52bafa9        12 days ago         810 MB

root@ip-172-31-27-169:~# docker run -p 8080:8080 -p 50000:50000 -v /root/jenkins_home:/var/jenkins_home jenkins

touch: cannot touch '/var/jenkins_home/copy_reference_file.log': Permission denied

Can not write to /var/jenkins_home/copy_reference_file.log. Wrong volume permissions?

root@ip-172-31-27-169:~# 
我正在尝试将容器的/var/jenkins_主卷装入/root/jenkins_主路径。这是为了保存jenkins数据,以防容器因某种原因死亡或停止

我怎样才能使这个命令成功

docker run -p 8080:8080 -p 50000:50000 -v /root/jenkins_home:/var/jenkins_home jenkins
谢谢

如果ec2虚拟机是redhat linux,它可能启用了selinux,您需要禁用它或为/root/jenkins_主文件夹提供正确的selinux属性。 如果ec2虚拟机是一台ubuntu机器,它可以启用apparmor。同样的情况也适用于此文件夹(禁用或授予文件夹适当的权限)

正如所解释的,这些问题似乎是一个许可问题。 如前所述,您可以将文件夹的权限更改为uid 1000。 使用以下命令:

chown -R 1000 /root/jenkins_home

然后重新运行docker映像。

EC2是一个Ubuntu Linux 16.04 LTS