Docker Compose由Docker创建,用于简化开发和测试多容器应用程序的过程,Docker-Compose项目是Docker官方的开源项目,负责实现对Docker容器集群的快速编排。Docker-Compose将所管理的容器分为三层,分别是工程(project),服务(service)以及容器(container)。Docker-Compose运行目录下的所有文件(docker-compose.yml,extends文件或环境变量文件等)组成一个工程,若无特殊指定工程名即为当前目录名。一个工程当中可包含多个服务,每个服务中定义了容器运行的镜像,参数,依赖。一个服务当中可包括多个容器实例。
Docker-compose的运行依赖于docker的安装和运行,如果已经安装了docker,并能成功运行docker,可以跳过docker安装这一章节,直接进入到docker-compose的安装。
一.安装依赖
-
selinux安装
docker安装时需要依赖于selinux,可以提前安装selinux。安装方式是,wget先下载到本地
然后用yum install /localpath/to/rpm来安装
-
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
-
启动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已经有aarch64的docker-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
总共就两步:
构建docker-compose镜像
-
运行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
docker-compose-Linux-aarch64 up -d 来启动
... 查看全部