Docker可以挂载容器外部的目录,将数据放在容器之外,如:MySQL,jenkins等;

通常使用-v /home/jenkins/data:/var/jenkins_home指定,这里是将容器外的目录/home/jenkins/data挂载到容器的/var/jenkins_home

docker run --name jenkins --restart=always -d -v /home/jenkins/data:/var/jenkins_home jenkins

权限问题

当容器内部使用root运行时,一般不会出现问题,当容器内部使用特定的用户时,外部目录的owner必须与容器内部一致否则将出现不能访问问题。如运行jenkins时,由于容器内部使用的账户是jenkins,并且容器外的/home/jenkins/data必须修改所有者为jenkins,容器外部并没有这个用户,所以可查看容器内部jenkins用户对应的uid,设置/home/jenkins/data的owner为对应的uid即可;

# chown -R 1000 /home/jenkins/data

jenkins中默认的uid是1000

[ 编辑 | 历史 ]
最近由“jilili”在“2016-06-19 09:07:13”修改