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

不管现实多么惨不忍睹,都要持之以恒地相信,这只是黎明前短暂的黑暗而已。不要惶恐眼前的难关迈不过去,不要担心此刻的付出没有回报,别再花时间等待天降好运。真诚做人,努力做事!你想要的,岁月都会给你。Mac 上 VMvare 虚拟机 Centos 上的 Docker 容器中的文件夹共享到 Mac 实体机,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com,来源:原文

我准备在 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

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/180260.html

(0)
飞熊的头像飞熊bm

相关推荐

发表回复

登录后才能评论
极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!