Linux 使用绑定卷运行Docker Jenkins容器抛出日志文件访问错误
我想把詹金斯放在一个容器里。 我正在从docker hub的官员jenkins那里拉并试图运行这个容器 我是以root用户的身份在/root中的AmazonAWSEC2机器上执行此操作的 以下是我所拥有的: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
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