回复
基于ansible远程docker环境安装gogs 原创
cuiyingfeng
发布于 2022-5-22 20:52
浏览
0收藏
本文档主要介绍如何使用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 myhost
PLAY [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=9 changed=6 unreachable=0 failed=0 skipped=0 rescued=0 ignored=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=123.23.12.21 -e GOGS_HTTP_PORT=3000 -e GOGS_EXTERNAL_URL=http://123.23.12.21:3000/
验证
可以用浏览器直接访问 ${GOGS_EXTERNAL_URL}(本实践中的访问地址为http://123.23.12.21:3000/),显示如下
本实践中的gogs容器启动后,已经内置了管理员用户gogs/gogs1234,可以直接登录。另外该gogs容器关闭了注册功能,可以gogs用户登录后自行增删用户。
©著作权归作者所有,如需转载,请注明出处,否则将追究法律责任
分类
已于2022-6-18 22:00:31修改
赞
2
收藏
回复
相关推荐