当前位置:首页 > 群晖专栏 > 运维部署 > 正文内容

ARM 架构 Linux 使用 docker compose 教程

admin3年前 (2021-05-28)运维部署120

前言

这两天火爆的甲骨文 ARM 实例经过折腾基本把环境配置完毕,但是最后发现 docker compose 原生无法支持 ARM ,查了一圈资料发现都是需要自编译,而且相关文献都是国外针对树莓派的一些案例.最后还是在国外知名的linuxserver.io上找到了方法.整理下水一片中文教程.



原理

目前的 ARM 版本方案的 docker compose 并不是编译获得执行文件,而是使用官方的仓库进行 docker 容器化编译成镜像,然后在需要docker-compose up -d等操作的目录中来启动容器代为编排启动.由于编译教程都很古老,博主尝试了几次都失败,但是linuxserver.io已经提供了编译好的镜像可以直接使用.

教程

本文教程基于 Oracle Linux 系统

镜像使用

使用非常简单,在需要docker-compose up -d命令的目录中执行以下命令即可:

docker run --rm \
  -v /var/run/docker.sock:/var/run/docker.sock \
  -v "$PWD:$PWD" \
  -w="$PWD" \
  linuxserver/docker-compose \
  up

其中最后一行的up是命令,根据需求自行修改,例如up -d,down,restart等.本容器命令也自带--rm参数,执行完毕自动删除compose 容器,并不会给系统带了无用的多余容器.

推荐脚本模拟镜像使用

官方推荐用更加方便的方式,通过脚本文件修改为/usr/local/bin/docker-compose,就可以像X86架构一样,直接执行docker-compose up -d等操作了.不过原理上还是使用上述的容器来执行.这样使用起来更加方便和熟悉.执行以下两行命令即可:

sudo curl -L --fail https://raw.githubusercontent.com/linuxserver/docker-docker-compose/master/run.sh -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose

Tips

博主平时使用docker-compose会传递一些宿主机的系统环境变量,例如$HOSTNAME到容器中,在常规X86的系统下 docker-compose 本身是在宿主机运行,所以没什么问题.而现在ARM的使用方式是需要利用容器来帮忙运行docker-compose,所需的环境变量自然是变成了这个中间帮忙的容器的变量.目前只能通过修改/usr/local/bin/docker-compose脚本来实现.

例如,将/usr/local/bin/docker-compose最后一行的exec docker run --rm .....命令中追加为exec docker run --rm --hostname=$HOSTNAME .....,这样就可以将宿主机的主机名带入至docker-compose 容器,在带入进需要启动的容器中.


结语

后续更多关于甲骨文的一些使用心得会持续更新,欢迎收藏本站或订阅RSS源.
甲骨文云 Oracle Cloud 免费 ARM 实例关于引导卷扩容 yum docker 等相关解决方案

本站提供免费和付费的技术支持.你可以通过留言,邮件,QQ的方式来进行技术交流和免费咨询.同时也可以付费支持的方式获得相关的技术支持,项目部署配置等服务.具体相关详情请点击查看 技术支持页面



扫描二维码推送至手机访问。

版权声明:本文由梦魁网络资源站发布,如需转载请注明出处。

本文链接:https://family.monkui.com:39/?id=193

标签: 运维部署
分享给朋友:

相关文章

腾讯云申请免费SSL证书教程

腾讯云申请免费SSL证书教程

前言本文将详解如何为你的域名申请腾讯云免费SSL证书,SSL证书能使你的网站支持https协议.申请流程登录腾讯云SSL证书管理购买证书选择域名型免费版(DV)填写域名,邮箱,证书备注名默认选择自动DNS验证如果你的域名不是在腾讯云购买和解...

Docker部署ShareList分享OneDrive,Google Drive和WebDAV教程

Docker部署ShareList分享OneDrive,Google Drive和WebDAV教程

前言ShareList 是一个易用的网盘工具,支持快速挂载 GoogleDrive、OneDrive ,可通过插件扩展功能。ShareList项目地址目前网上有很多支持OneDrive的网盘工具,本站也曾介绍过,而ShareList最大的不...

CentOS 7 配置Python3环境教程

CentOS 7 配置Python3环境教程

前言本文将介绍CentOS7下配置Python3环境教程配置流程检查Python版本pythonCentOS7自带Python2.7安装依赖包yum -y groupinstall "Developm...

Docker Compose 部署 ELK 日志管理系统 Elasticsearch + Logstash + Kibana + Filebeat

Docker Compose 部署 ELK 日志管理系统 Elasticsearch + Logstash + Kibana + Filebeat

前言ELK日志管理系统是Elasticsearch + Logstash + Kibana的简称,加上Filebeat组成一整套日志收集,过滤,处理,数据存储和前端展示系统.博主经过一段时间的安装,配置,测试也基本满足了个人以及中小企业团队...

甲骨文云 Oracle Cloud 免费 ARM 实例关于引导卷扩容 yum docker BBR 等相关解决方案

甲骨文云 Oracle Cloud 免费 ARM 实例关于引导卷扩容 yum docker BBR 等相关解决方案

前言最近甲骨文云 Oracle Cloud 良心的推出了永久免费的 ARM 实例,竟然给出了最多 4 核 24G 内存 4G 带宽的配置.羊毛党怎么会轻易错过.在折腾了一天后,整理和总结了一些大家常用会需要了解的信息和解决方案.由于甲骨文的...

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。