这两天 新机器 M1 mini 到了,上手第一天就是尝试使用 Docker
Docker 预览版 下载地址 https://docs.docker.com/docker-for-mac/apple-m1/
下载安装没什么变化,下载安装包即可。
我本身是搞 PHP 开发,本地开发一直在使用 laradock,所以拿 laradock 进行测试。
习以为常的进行下面的步骤
git clone https://github.com/Laradock/laradock.git
cp env-example .env
docker-compose up -d nginx mysql redis
然后就报错了
很明显 MySQL 不支持 arm 版本。
之后尝试使用 mariadb
,一路很顺利,但是在 workspace 容器安装 node、yarn 的时候报错死活过不去.
一度以为是网络的问题,之前我也遇到过类似的问题 以为这次也很容易解决 之前的问题链接 发现并不好使,另外我也尝试使用 阿里镜像还是未果。无奈只好放弃。编辑 .env 文件 将下面两处设置为false,
WORKSPACE_INSTALL_NODE=false
WORKSPACE_INSTALL_YARN=false
重新编译,一路畅通。
Nice,跑起来了,但是在使用过程有几次会进不到容器的情况,接口也无响应。报错链接超时,遇到就只能重启 docker......
在此 issue 中找到了解决方案 https://github.com/laradock/laradock/issues/2459
修改 workspace 中的 Dockerfile 文件
RUN if [ ${INSTALL\_NODE} = true ]; then \
# Install nvm (A Node Version Manager)
mkdir -p $NVM\_DIR && \
curl -o- https://monitor-majors.oss-cn-shenzhen.aliyuncs.com/install.sh|bash \
将 curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.11/install.sh|bash \
替换为 curl -o- https://monitor-majors.oss-cn-shenzhen.aliyuncs.com/install.sh|bash \
即可解决
本作品采用 知识共享署名 4.0 国际许可协议 进行许可。转载无需与我联系,但须注明出处,注明文章来源 M1芯片运行 laradock