一、配置远程端口开放
windows节点:
如果不行,还要更改配置文件:
cmd以管理员身份运行(让别的客户端机器也能进行访问):
netsh advfirewall firewall add rule name="docker_daemon" dir=in action=allow protocol=TCP localport=2375
linux节点:
配置docker端口2375 远程登录
需要先修改docker配置文件 (这台服务器上要有docker)
位置 /usr/lib/systemd/system/docker.service
操作:
设置docker 远程登录的端口(给操作系统开远程端口)
cd /usr/lib/systemd/system
vim docker.service
# 注释并添加(-H 后 添加端口等)
ExecStart=
ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2375 -H [unix://var/run/docker.sock]
-
修改前:
-
修改后:
二,在本机window节点上运行构建打包成镜像并推送到私有仓库
- 怎么把本地window添加为节点,看上一篇;
- 可以先试一下直接在本地构建镜像并推送到私有仓库,看这里:https://www.jianshu.com/p/8e7493055a91
- 现在我们试试用jenkins来进行构建
1、先把代码推送到gitlab私有仓库
- flask_demo.py
from flask import Flask, request, jsonify
import argparse
app = Flask(__name__)
BASE_URL = '/'
@app.route(BASE_URL, methods=['GET'])
def geng():
result = {
'msg': "welcome,test!"
}
# 返回json
return jsonify(result)
@app.route(BASE_URL + 'get/test', methods=['GET'])
def test_get():
# 解析请求参数
param = request.args.to_dict()
result = {
'msg': "welcome,test!"
}
# 返回json
if param:
return jsonify(param)
else:
return jsonify(result)
if __name__ == '__main__':
parser = argparse.ArgumentParser(usage='请输入端口号', description="help info.")
parser.add_argument("--port", default=6004, help='the port number.')
args = parser.parse_args()
app.run(debug=True, host='0.0.0.0', port=args.port)
- Dockerfile:
FROM python:3.9-slim
# 使用官方提供的python开发镜像作为基础镜像
WORKDIR llhtest-jenkins
# 创建工作目录
ADD . /llhtest-jenkins
# 把Dockerflie文件所在目录的所有文件都复制到工作目录中
RUN pip install -r requirements.txt
# 安装这个应用所需要的依赖包
EXPOSE 6004
# 允许外界访问容器的6004端口
CMD ["python", "app.py"]
# 启动应用
2、全局安全配置
3、新建任务
3、进行构建
4、看看推到本地私有仓库没有
http://127.0.0.1:5000/v2/_catalog
- 到这里已经成功了