Mac 上 VMvare 虚拟机 Centos 上的 Docker 容器中的文件夹共享到 Mac 实体机

我准备在 centos 虚拟机上安装 Docker,并让 docker 与 centos 虚拟机文件夹共享,再进一步将 centos 共享的文件夹映射到实体机,进而实现 docker -> centos ->macos 的共享文件夹的闭环。

注:这里面有不少坑,需要独立思考和仔细。

一、centos 与 实体机文件夹共享

1、启动 centos。
2、点开设置-共享,在主机创建一个文件夹与 centos 共享。

在这里插入图片描述

3、 在 finder 修改实体机映射的文件夹权限。【可选】

在这里插入图片描述

4、左下角会提示安装 vm-tools,安装 vm-tools,我这里已经安装了,显示重新安装。

在这里插入图片描述

5、因为centos 没有 GUI,需要进入命令行安装。进入 centos 终端。
6、依次执行命令:*注:我这里登录的是 root 账号。
yum -y install perl gcc make kernel-headers kernel-devel
yum install kernel-devel-$(uname -r)

mkdir /mnt/cdrom
mount -t iso9660 /dev/cdrom /mnt/cdrom
cp /mnt/cdrom/VMwareTools-* /root/vm.tar.gz
cd /root
tar -xzf vm.tar.gz
./vmware-tools-distrib/vmware-install.pl        # 一直按回车
7、映射目录在 /mnt/hgfs,根据我自己的情况,将其软连接到 /root 下方便使用。
ln -s /mnt/hgfs/centos7_ip128 ~/centos7_ip128
8、进行共享测试。

在这里插入图片描述

二、centos 安装 docker

curl -sSL https://get.daocloud.io/docker | sh  # 脚本一键安装 docker
systemctl start docker  # 启动
systemctl enable docker     # docker 开机启动

三、docker 配置代丽【可选】

1、对 docker pull 命令进行代丽。

mkdir -p /etc/systemd/system/docker.service.d
touch /etc/systemd/system/docker.service.d/proxy.conf
nano /etc/systemd/system/docker.service.d/proxy.conf

>> 根据自己的情况写入,我这里用的实体机上的代:
[Service]
Environment="HTTP_PROXY=http://192.168.68.153:7890"
Environment="HTTPS_PROXY=http://192.168.68.153:7890"
Environment="NO_PROXY=localhost,127.0.0.1,.example.com"

2、为运行的容器代丽。

mkdir -p ~/.docker/
touch ~/.docker/config.json
nano ~/.docker/config.json

>> 根据自己的情况写入,我这里用的实体机上的代:
{
 "proxies":
 {
   "default":
   {
     "httpProxy": "http://192.168.68.153:7890",
     "httpsProxy": "http://192.168.68.153:7890",
     "noProxy": "localhost,127.0.0.1,.example.com"
   }
 }
}

3、构建时指定代丽。

docker build . \
    --build-arg "HTTP_PROXY=http://192.168.68.153:7890" \
    --build-arg "HTTPS_PROXY=http://192.168.68.153:7890" \
    --build-arg "NO_PROXY=localhost,127.0.0.1,.example.com" \
    -t your/image:tag

*注:国内不代丽必须设置其它国内镜像源,不然你在浪费生命,自行百度。

三、虚拟机中 docker 容器中文件共享到实体机【示例】

ShardingSphere-Proxy

1、拉取镜像。【略】
2、启动实例,拷贝配置文件到宿主机文件夹。【略】
3、修改 ShardingSphere 的配置文件。
4、最终创建命令:

docker run -d -p 3306:3306 --restart=always  \
-v $PWD/conf:/opt/shardingsphere-proxy/conf \
-v $PWD/lib:/opt/shardingsphere-proxy/lib \
-v $PWD/ext-lib:/opt/shardingsphere-proxy/ext-lib \
-v $PWD/logs:/opt/shardingsphere-proxy/logs \
-e PORT=3306 -e JVM_OPTS="-Djava.awt.headless=true" \
--user 501:501 --privileged=true \
--name cluster_mysql8_ss apache/shardingsphere-proxy

注:ShardingSphere 代理集群可能需要知道其它容器的 IP:

docker inspect -f '{{.Name}} - {{.NetworkSettings.IPAddress }}' $(docker ps -aq)
Mysql
docker run -p 3332:3306 --name mysql_name --restart=always --user 501:501 --privileged=true \
	-m 400m --net mynet --ip 172.18.0.32 \ # 自定义
	-v $PWD/conf:/etc/mysql/conf.d \
	-v $PWD/:/etc/var/lib/mysql \
	-e MYSQL_ROOT_PASSWORD=1 -d mysql:8.0.23 --lower_case_table_names=1 --bind-address=0.0.0.0
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值