前言
本文旨在介绍:docker和windows 10共享磁盘(文件夹)。
为什么要共享磁盘(文件夹)?
1)docker 的cp指令有点缺陷,有些文件无法完全复制,如果不共享文件夹,那么就只能用docker cp 命令了;
2)有了磁盘共享之后,docker里面可以直接访问共享文件夹的文件,那操作起来就非常之方便了。
此外,在解决问题过程中,发现参考文献虽多,但适合具体情况的,真正有用的可谓少之又少,全靠自己筛选,可能会有多次错误尝试。故记录(感慨)在此。
环境描述
系统:windows 10 专业版
docker 版本:
共享磁盘
1.1 先在settings中设置
如下,勾选F盘,然后apply,中间会让你输密码,输完之后docker会restart。
1.2 在cmd命令行中输入
docker run -v f:/docker:/data ubuntu:14.04 ls /data
# 注意,这里的ubuntu:14.04是image镜像的名字,不能是container容器,只能是image
# 且,我要共享的是 f:/docker 文件夹,但是必须在这个命令中加后缀 :/data
docker run -it -v f:/docker:/data ubuntu:14.04 /bin/bash
# 新建一个容器,由于我忘记--name 命名参数了,所以docker随意取了个名字:thirsty_austin
# 输入这个命令后,会进入终端,这时候就会看到data文件夹
docker rename thirsty_austin nopol
#重命名一下
# 以下是新建账户
docker exec -it nopol bash #进入容器
apt-get update
apt-get install nano
chmod u+w /etc/sudoers
nano /etc/sudoers
然后在这个文件里面添加 deheng ALL=(ALL) ALL
chmod u-w /etc/sudoers
sudo adduser deheng
#在root账户下设置root 密码
passwd
exit #然后退出容器
docker exec -it -u deheng nopol bash #重新以用户身份进入容器,发现ok。
即可。
总结
以上。主要参考 [1] 。
参考
[1] Docker on Windows — Mounting Host Directories https://rominirani.com/docker-on-windows-mounting-host-directories-d96f3f056a2c
创建时间:2019年02月25日 12:28:57
修改时间:2019年2月28日14:54:55