我确定我听起来会像个笨蛋,但是我很难理解Docker Volumes的工作原理。
我有以下Dockerfile
FROM centos:7
MAINTAINER Giant Idiot
RUN yum -y update && \
yum -y install epel-release vim && \
rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
VOLUME /opt/my_vol
RUN echo "root:root" | chpasswd && \
yum -y install openssh-server && \
mkdir -p /var/run/sshd && \
sed -i 's/PermitRootLogin prohibit-password/PermitRootLogin yes/' /etc/ssh/sshd_config && \
ssh-keygen -t rsa -f /etc/ssh/ssh_host_rsa_key -N ''
RUN yum clean all
EXPOSE 22
COPY supervisord.conf /tmp/
RUN yum -y install supervisor && \
mkdir -p /etc/supervisor/conf.d && \
mv /tmp/supervisord.conf /etc/supervisor/conf.d
CMD /usr/bin/supervisord -c /etc/supervisor/conf.d/supervisord.conf
其中包含用于创建/ opt / my_vol的VOLUME命令,当我运行它时,它像下面那样映射了Volume(至少我认为这就是我的工作)
docker run -d -p 221:22 -v my_vol:/opt/my_vol --name my_dock_r1 my_dock
当我登录到Image时,我可以看到/ opt / my_vol目录,当我执行以下命令时,一切看起来都很好
docker volume ls
DRIVER VOLUME NAME
local my_vol
docker volume inspect my_vol
[
{
"Driver": "local","Labels": null,"Mountpoint": "/mnt/sda1/var/lib/docker/volumes/my_vol/_data","Name": "my_vol","Options": null,"Scope": "local"
}
]
我对此感到满意(或者不满意,因为这可能是错误的),但是Mountpoint对我来说没有意义。
我认为它将它安装到我的文件系统(Windows 10)中,并且没有这样的目录。在那种情况下,它会将它安装在我可以在文件系统上找到它的位置,还是我对此理解不正确?
我正在使用VirtualBox版本的Docker,我不确定这是否有作用