基于ansible在远程centos服务器docker环境安装docker-gogs

宁可枝头抱香死,何曾吹落北风中。这篇文章主要讲述基于ansible在远程centos服务器docker环境安装docker-gogs相关的知识,希望能为你提供帮助。
本文档主要介绍如何使用ansible在远程centos服务器docker环境快速安装gogs,目标服务器为一台阿里云ECS,安装操作系统为阿里云提供的公共镜像Centos7.9-64。且已经预装docker环境。
准备
硬件

  • 一台阿里云ECS:1c2g40g
    • 预装docker环境 参考 基于ansible在centos服务器安装docker
  • 一台可以连接阿里云的linux服务器,预装ansible、git和,其中ansible版本为2.9.27
基础环境
服务器类型 OS 公网IP 内网IP 备注
目标服务器 Centos7.9(阿里云自带的公共镜像) 123.23.12.21 10.0.1.121 阿里云ECS(root/root1234)
主控端 Centos7.9 ? 10.0.1.123 本地LInux服务器
安装
指ssh到主控端,然后通过ansible将gogs容器在目标服务器上启动并运行。
安装python3目标服务器安装的Centos7.9操作系统默认安装的python版本比较低,其实并不支持ansible的docker容器相关指令;这里我们需要先在目标服务器远程安装一个高版本的python,后续再通过指定python路径的方式去执行ansible脚本就可以成功操作docker容器了。
前面一个步骤中下载的脚本目前是把python3编译安装在/usr/soft/python3目录下,后续启动docker容器均需要指定ansible_python_interpreter为/usr/soft/python3。
另外要注意一下主控端的ansible版本号,本实践使用的ansible版本为2.9.27,如果ansible版本过低可能会导致基于本实践的安装python3失败。
[root@localhost ~]# git clone https://gitee.com/pi4k8s/ansible-exmaples.git [root@localhost ~]# cd ansible-exmaples/aliyun-centos7.9/ [root@localhost aliyun-centos7.9]# # 修改该目录下的hosts文件,修改里面的服务器为自有服务器信息 [root@localhost aliyun-centos7.9]# ANSIBLE_HOST_KEY_CHECKING=false sh install-python.sh myhostPLAY [myhost] ******************************************************************TASK [Gathering Facts] ********************************************************* ok: [myhost]TASK [python3 : install required packages] ************************************* changed: [myhost]TASK [python3 : get python sources] ******************************************** changed: [myhost]TASK [remove python3] ********************************************************** ok: [myhost]TASK [remove python3-compile] ************************************************** ok: [myhost]TASK [cp python3] ************************************************************** changed: [myhost]TASK [compile python3] ********************************************************* changed: [myhost]TASK [install python3] ********************************************************* changed: [myhost]TASK [python3 : install pip docker-py] ***************************************** changed: [myhost]PLAY RECAP ********************************************************************* myhost: ok=9changed=6unreachable=0failed=0skipped=0rescued=0ignored=0

验证
[root@localhost aliyun-centos7.9]# ansible -m shell -a /usr/soft/python3/bin/python3 --version -o -i hosts myhost myhost | CHANGED | rc=0 | (stdout) Python 3.6.13

安装gogs-0.12
[root@localhost ~]# git clone https://gitee.com/cuiyingfeng/jenkins-ansible-examples.git [root@localhost ~]# cd jenkins-ansible-examples/gogs # 修改该目录下的hosts文件,修改里面的服务器为自有服务器信息 [root@localhost gogs]# ansible-playbook playbook/install-gogs.yaml -i hosts -e env_hosts=server1 -e GOGS_SSH_HOST=10.0.1.121 -e GOGS_HTTP_PORT=3000 -e GOGS_EXTERNAL_URL=http://10.0.1.121:3000/

验证
【基于ansible在远程centos服务器docker环境安装docker-gogs】可以用浏览器直接访问 \\$GOGS_EXTERNAL_URL(本实践中的访问地址为http://10.0.1.121:3000/),显示如下
基于ansible在远程centos服务器docker环境安装docker-gogs

文章图片

本实践中的gogs容器启动后,已经内置了管理员用户gogs/gogs1234,可以直接登录。另外该gogs容器关闭了注册功能,可以gogs用户登录后自行增删用户。

    推荐阅读