建议使用以下浏览器,以获得最佳体验。 IE 9.0+以上版本 Chrome 31+ 谷歌浏览器 Firefox 30+ 火狐浏览器
请选择 进入手机版 | 继续访问电脑版
设置昵称

在此一键设置昵称,即可参与社区互动!

确定
我再想想
选择版块
标签
您还可以添加5个标签
  • 没有搜索到和“关键字”相关的标签
  • 云产品
  • 解决方案
  • 技术领域
  • 通用技术
  • 平台功能
取消

阿刚

发帖: 11粉丝: 2

发消息 + 关注

发表于2019年10月09日 10:30:18 4364 8
直达本楼层的链接
楼主
显示全部楼层
[交流分享] 鲲鹏平台安装docker-compose参考

Docker ComposeDocker创建,用于简化开发和测试多容器应用程序的过程,Docker-Compose项目是Docker官方的开源项目,负责实现对Docker容器集群的快速编排。Docker-Compose将所管理的容器分为三层,分别是工程(project),服务(service)以及容器(container)。Docker-Compose运行目录下的所有文件(docker-compose.ymlextends文件或环境变量文件等)组成一个工程,若无特殊指定工程名即为当前目录名。一个工程当中可包含多个服务,每个服务中定义了容器运行的镜像,参数,依赖。一个服务当中可包括多个容器实例

Docker-compose的运行依赖于docker的安装和运行,如果已经安装了docker,并能成功运行docker,可以跳过docker安装这一章节,直接进入到docker-compose的安装。

一.安装依赖

  1. selinux安装


    docker安装时需要依赖于selinux,可以提前安装selinux。安装方式是,wget先下载到本地

    wget http://mirror.centos.org/centos/7/updates/x86_64/Packages/selinux-policy-targeted-3.13.1-229.el7_6.12.noarch.rpm

    然后用yum install /localpath/to/rpm来安装

  2. docker安装

    Docker需要下载aarch64版本的:https://download.docker.com/linux/centos/7/aarch64/stable/Packages/,

    可以下载18版本的,如docker-ce-18.03.1.ce-1.el7.centos.aarch64.rpm这个版本。

    先使用wget 进行下载

    wget https://download.docker.com/linux/centos/7/aarch64/stable/Packages/docker-ce-18.03.1.ce-1.el7.centos.aarch64.rpm  --no-check-certificate

    下载之后,使用yum安装

    yum install /path/to/package.rpm

  3. 启动docker

    配置正确的Docker运行hello-world时会打印如下信息

    systemctl start docker

    运行hello-world,检查Docker配置是否已经正确

    docker run hello-world执行之后,如果打印“Hello from Docker!This message shows that your installation appears to be working correctly”则启动正常

二. docker-compose安装

Docker-compose的安装依赖于docker,所以需要先确保docker可以正常运行起来,如docker run hello-world运行时不会报错

github已经有aarch64docker-compose版本,可以直接从github下载arm64版本:

https://github.com/ubiquiti/docker-compose-aarch64


git clone https://github.com/ubiquiti/docker-compose-aarch64.git

下载之后,主要有Dockerfile文件用来构建compose镜像,README.md则是具体构建方法:

docker build . -t docker-compose-aarch64-builder

docker run --rm -v "$(pwd)":/dist docker-compose-aarch64-builder

总共就两步:

  1. 构建docker-compose镜像

  2. 运行docker-compose镜像,同时在本地生成可执行文件docker-compose-Linux-aarch64


    详细步骤:


1.修改Dockefile文件,增加http代理环境变量,由于Dockerfile是在Dokcer容器内部执行的,默认不使用系统设置的代理,需要在Dockerfile中增加环境变量ENV 来设置http_proxy/https_proxy代理,否则Dockerfile中和远程仓库交互的命令都会报错


2.注释掉Dockerfile中的交叉编译选择“#RUN [ "cross-build-start" ]”,因为arm64只要编译成功即可,不需要在x86平台上跑,如果不注释掉,会出现“exec format error”格式执行错误

3.docker-compose-aarch64当前目录直接执行如下命令,构建compose镜像

docker build . -t docker-compose-aarch64-builder


运行docker-compose镜像在本地生成docker-compose-Linux-aarch64可执行文件


1.执行docker run --rm -v "$(pwd)":/dist docker-compose-aarch64-builder,可以看到在当前目录下生成了一个docker-compose-Linux-aarch64的可执行程序


同时也可以用docker images查看刚生成的docker-compose-aarch64-builder镜像


2.查看docker-compose版本号,同时将此可执行文件路径添加到PATH中,便于其他组件直接调用

./docker-compose-Linux-aarch64 version




举报
分享

分享文章到朋友圈

分享文章到微博

五湖四海

发帖: 164粉丝: 69

发消息 + 关注

发表于2019年10月09日 17:23:53
直达本楼层的链接
沙发
显示全部楼层

正好需要,赞一个

点赞 评论 引用 举报
发表于2019年11月09日 11:53:47
直达本楼层的链接
板凳
显示全部楼层

早点看到就好了

点赞 评论 引用 举报

ali

发帖: 2粉丝: 0

发消息 + 关注

发表于2019年12月25日 17:20:12
直达本楼层的链接
地板
显示全部楼层

这个安装好了怎么docker-compose up启动不了呢

评论
ll21099 2020-4-9 14:11 评论

docker-compose-Linux-aarch64 up -d 来启动

... 查看全部
点赞 评论 引用 举报

九溪烟树

发帖: 29粉丝: 4

发消息 + 关注

发表于2020年04月13日 20:39:05
直达本楼层的链接
5#
显示全部楼层

用镜像装和用rpm包安装docker-compose 的方式有区别吗?如果版本有rpm包的话,是不是可以直接rpm安装?

点赞 评论 引用 举报

敬业的板砖工

发帖: 317粉丝: 25

发消息 + 关注

发表于2020年04月14日 10:18:02
直达本楼层的链接
6#
显示全部楼层

点赞 评论 引用 举报

九溪烟树

发帖: 29粉丝: 4

发消息 + 关注

发表于2020年04月17日 11:24:49
直达本楼层的链接
7#
显示全部楼层

亲测如果要编译其他版本的docker-compose,只需按照上面操作下载https://github.com/ubiquiti/docker-compose-aarch64

修改其中的dockerfile文件,改成想要的版本号即可

image.png

点赞 评论 引用 举报

Gizboot

发帖: 0粉丝: 0

发消息 + 关注

发表于2020年10月12日 18:08:48
直达本楼层的链接
8#
显示全部楼层

请问详细步骤里面第一点,需要在Dockerfile中增加环境变量ENV,详细操作是怎样的?

点赞 评论 引用 举报

Leslie96

发帖: 0粉丝: 0

发消息 + 关注

发表于2020年12月08日 17:07:46
直达本楼层的链接
9#
显示全部楼层

第执行到第四步有问题,求大佬解答。

root@ecs-38c4:/home/gyf/docker-compose/docker-compose-aarch64-master# ls

Dockerfile  README.md  vendor

root@ecs-38c4:/home/gyf/docker-compose/docker-compose-aarch64-master# docker build . -t docker-compose-aarch64-builder

Sending build context to Docker daemon  4.881MB

Step 1/15 : FROM arm64v8/python:3.6.5-stretch

 ---> ec24596c3d76

Step 2/15 : ENV LANG C.UTF-8

 ---> Using cache

 ---> d88366d9882c

Step 3/15 : COPY ./vendor/qemu-bin /usr/bin/

 ---> Using cache

 ---> 3bbc71b6719d

Step 4/15 : RUN [ "cross-build-start" ]

 ---> Running in 3fc0957cdad4

standard_init_linux.go:211: exec user process caused "exec format error"


点赞 评论 引用 举报

游客

富文本
Markdown
您需要登录后才可以回帖 登录 | 立即注册