我是靠谱客的博主 闪闪猎豹,最近开发中收集的这篇文章主要介绍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

最后

以上就是闪闪猎豹为你收集整理的Mac 上 VMvare 虚拟机 Centos 上的 Docker 容器中的文件夹共享到 Mac 实体机的全部内容,希望文章能够帮你解决Mac 上 VMvare 虚拟机 Centos 上的 Docker 容器中的文件夹共享到 Mac 实体机所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(48)

评论列表共有 0 条评论

立即
投稿
返回
顶部