美文网首页
Docker for Mac优化踩坑记录

Docker for Mac优化踩坑记录

作者: 单炒饭 | 来源:发表于2020-05-05 13:58 被阅读0次

Docker在非Linux环境下都是跑在虚拟机上的。
早期的Docker for Mac是跑在VirtualBox下,之后是基于苹果的hyperkit来实现的。

但是,这两种方式都是比较低效且占用过多的资源。
单一个docker hyperkit就占用内存超过3GB。


Snipaste_2020-05-05_13-35-00.png

磁盘空间占用也非常之大。


Snipaste_2020-05-05_13-36-20.png

大名鼎鼎的Parallels desktop在mac上运行起来算比较丝滑的了,那么能否将docker运行在其之上呢?答案当然是可以的,接下来将记录整个步骤。

# 安装docker
brew install docker

# 安装docker-machine-parallels(会自动安装docker-machine)
brew install docker-machine-parallels

# 创建docker虚拟机(会拉取 boot2docker.iso 镜像并在parallels创建default的虚拟机)
docker-machine create --driver=parallels default

# 启动创建好的docker虚拟机
docker-machine start default

# 输出相关环境变量
docker-machine env default

# 将上一步输出的脚本在终端执行一次。例如:
export DOCKER_TLS_VERIFY="1"
export DOCKER_HOST="tcp://10.211.55.9:2376"
export DOCKER_CERT_PATH="/Users/fan/.docker/machine/machines/default"
export DOCKER_MACHINE_NAME="default"

# 或
eval $(docker-machine env default)

至此,已经可以愉快的把玩docker了,后续的步骤将简单来跑个demo。

# 拉取alpine镜像
docker pull alpine

# 运行镜像
docker run -p 1080:80 -it alpine:latest sh

# 安装nginx
apk add nginx

# 运行nginx
nginx

# 查看docker虚拟机default的ip
docker-machine ip default

# 访问服务
http://ip:1081

Parallels 为我们提供了端口映射服务。
Parallels desktop --> 系统偏好 --> 网络设置,将本地端口与docker的虚拟机端口作映射。
例如:把本地1081映射到虚拟机上的1081端口。

这时候就可以在你的Mac物理机上通过http://localhost:1081来访问容器中运行的nginx服务了。

相关问题

相关文章

网友评论

      本文标题:Docker for Mac优化踩坑记录

      本文链接:https://www.haomeiwen.com/subject/ubdmghtx.html