[docker教程] win10中 docker 设置共享文件夹

时间:2024-04-13 16:11:18

前言

本文旨在介绍:docker和windows 10共享磁盘(文件夹)。

为什么要共享磁盘(文件夹)?
1)docker 的cp指令有点缺陷,有些文件无法完全复制,如果不共享文件夹,那么就只能用docker cp 命令了;
2)有了磁盘共享之后,docker里面可以直接访问共享文件夹的文件,那操作起来就非常之方便了。

此外,在解决问题过程中,发现参考文献虽多,但适合具体情况的,真正有用的可谓少之又少,全靠自己筛选,可能会有多次错误尝试。故记录(感慨)在此。

环境描述

系统:windows 10 专业版
docker 版本:
[docker教程] win10中 docker 设置共享文件夹

共享磁盘

1.1 先在settings中设置

如下,勾选F盘,然后apply,中间会让你输密码,输完之后docker会restart。
[docker教程] win10中 docker 设置共享文件夹

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