可以在docker run时通过: -v 宿主机目录:容器内目录,挂载宿主机的文件到容器:
$ docker run -it -v /tmp/docker_share/:/tmp/share ubuntu /bin/bash
容器启动后,可以在容器里看到目录/tmp/share
root@9d2d19b4923c:/tmp/share# touch test
root@9d2d19b4923c:/tmp/share# ls
test
在宿主机的/tmp/docker_share目录下也可以看到test:
/tmp/docker_share$ ls
test
如果希望以只读的方式进行挂载可以加ro参数:
$ docker run -it -v /tmp/docker_share/:/tmp/share:ro ubuntu /bin/bash
root@67dc0f26dcfe:/# cd /tmp/share/
root@67dc0f26dcfe:/tmp/share# ls
test
root@67dc0f26dcfe:/tmp/share# touch tttt
touch: cannot touch 'tttt': Read-only file system
可以看到这样是通过只读的方式进行的挂载。