下载docker-ce、docker-compose、containerd.io,其中docker-ce的版本为19.03.15。
$ yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
$ yum install --downloadonly --downloaddir=~/downloads docker-ce-19.03.15 docker-ce-cli docker-compose containerd.io
$ tar zcf dockeryum.tgz ~/downloads
$ rm -rf ~/downloads/*
如果默认的yum源和aliyun的yum源都没有对应版本的docker-ce,可以访问以下网址下载rpm包或tar包
https://download.docker.com/linux/centos/7/x86_64/stable/Packages/
https://download.docker.com/linux/static/stable/x86_64/
该步骤输出压缩包dockeryum.tgz
下载docker、docker-compose的python package
$ pip3 install -d ~/downloads docker docker-compose
$ tar zcf docker-py.tgz ~/downloads
$ rm -rf ~/downloads/*
该步骤输出压缩包docker-py.tgz
访问https://github.com/ansible/awx/tree/15.0.1,下载源码包awx-15.0.1.zip
拉取docker镜像
$ docker pull ansible/awx:15.0.1
$ docker save ansible/awx:15.0.1 -o awx-15.0.1.tar
$ tar zcf awx-15.0.1.tar.gz awx-15.0.1.tar
$ docker pull postgres:10
$ docker save postgres:10 -o postgres-10.tar
$ tar zcf postgres-10.tar.gz postgres-10.tar
$ docker pull redis
$ docker save redis -o redis.tar
$ tar zcf redis.tar.gz redis.tar
该步骤输出3个镜像压缩包:awx-15.0.1.tar.gz、postgres-10.tar.gz、redis.tar.gz
将上述步骤的输出,共6个压缩包,拷贝到离线服务器/tmp目录中。
在正式到离线服务器安装之前,可以先将联网服务器断网,模拟离线状态,使用离线服务器章节中的步骤安装一遍AWX,作为测试步骤。
使用root用户登录,并进入/tmp目录
安装docker-ce、docker-compose、containerd.io
$ tar zxf dockeryum.tgz && cd downloads
$ yum install -y *
$ cd .. && rm -rf downloads
安装python package的docker和docker-compose
$ tar zxf docker-py.tgz && cd downloads
$ pip3 install --no-index --find-links=. docker docker-compose
$ cd .. && rm -rf downloads
启动docker systemctl enable --now docker
载入docker镜像
$ tar zxf redis.tar.gz
$ docker load --input redis.tar
# 命令结束会输出img_id
$ docker tag %{img_id} redis:latest
$ tar zxf postgres-10.tar.gz
$ docker load --input postgres-10.tar
$ docker tag %{img_id} postgres:10
$ tar zxf awx-15.0.1.tar.gz
$ docker load --input awx-15.0.1.tar
$ docker tag %{img_id} ansible/awx:15.0.1
安装awx
解压缩awx项目unzip awx-15.0.1.zip && cd awx-15.0.1/installer
修改安装参数,详情可以参考awx的github
$ vim inventory
# 关键参数
admin_user=admin #awx的管理员用户名
admin_password=password #awx的管理员密码
host_port=80 #awx服务监听的本地端口
host_port_ssl=443 #awx服务监听的本地ssl端口
project_data_dir= #本地项目存放的目录
postgres_data_dir="" #使用postgres docker镜像时,数据存放目录
pg_hostname=postgresql #通过设置该参数,使用现有的postgres数据库,而无需启动postgres docker镜像,需要现有数据库与postgres 10兼容
安装awx,ansible-playbook -i inventory install.yml
如需要修改已安装awx的配置,可以在修改inventory的内容后,重新执行上面安装语句。
查看服务是否正常启动,docker ps,共4个container,分别为