一公你、配置遠(yuǎn)程端口開放
windows節(jié)點:
如果不行帝蒿,還要更改配置文件:
cmd以管理員身份運行(讓別的客戶端機器也能進(jìn)行訪問):
netsh advfirewall firewall add rule name="docker_daemon" dir=in action=allow protocol=TCP localport=2375
linux節(jié)點:
配置docker端口2375 遠(yuǎn)程登錄
需要先修改docker配置文件 (這臺服務(wù)器上要有docker)
位置 /usr/lib/systemd/system/docker.service
操作:
設(shè)置docker 遠(yuǎn)程登錄的端口(給操作系統(tǒng)開遠(yuǎn)程端口)
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節(jié)點上運行構(gòu)建打包成鏡像并推送到私有倉庫
- 怎么把本地window添加為節(jié)點局服,看上一篇状植;
- 可以先試一下直接在本地構(gòu)建鏡像并推送到私有倉庫浊竟,看這里:http://www.reibang.com/p/8e7493055a91
- 現(xiàn)在我們試試用jenkins來進(jìn)行構(gòu)建
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():
# 解析請求參數(shù)
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開發(fā)鏡像作為基礎(chǔ)鏡像
WORKDIR llhtest-jenkins
# 創(chuàng)建工作目錄
ADD . /llhtest-jenkins
# 把Dockerflie文件所在目錄的所有文件都復(fù)制到工作目錄中
RUN pip install -r requirements.txt
# 安裝這個應(yīng)用所需要的依賴包
EXPOSE 6004
# 允許外界訪問容器的6004端口
CMD ["python", "app.py"]
# 啟動應(yīng)用
2津畸、全局安全配置
3振定、新建任務(wù)
3、進(jìn)行構(gòu)建
4肉拓、看看推到本地私有倉庫沒有
http://127.0.0.1:5000/v2/_catalog
- 到這里已經(jīng)成功了