Jenkins Docker插件 构建推送镜像

阿木 发布于 7 小时前 1 次阅读


IP这玩意儿吧,有时候比人名儿还好记。

福哥的服务器,其IP地址是192.168.168.68,念叨一会儿就像刻进到脑子里一样,反复念叨几遍就更是如此了。

vi /usr/lib/systemd/system/docker.service

不像是冷冰冰的数字串,倒像个老朋友的门牌号。

ExecStart=/usr/bin/dockerd -H "tcp://192.168.168.68:5168" -H "unix:///var/run/docker.sock"

这堵墙,必须得拆

防火墙这东西,初衷是好的,保护嘛。

systemctl daemon-reload
systemctl restart docker

但有时候它就像那种过度保护的家长。

curl 192.168.168.68:5168

你想让容器里的孩子,去看看宿主机外面的世界?

没门。

关了吧,真的。

cd /tongfu.net/data/docker/data/
mv jenkins/ tfjenkins/
docker rm -f tfjenkins
docker run -tid 
--name tfjenkins 
-h tfjenkins 
--net tfnet 
-p 1180:1180 
-e JENKINS_OPTS="--httpPort=1180" 
-v /tongfu.net/data/docker/data/tfjenkins:/var/jenkins_home 
registry.tongfu.net:5000/jenkins/jenkins:2.401.1

systemctl stop firewalld

有时候规矩就是用来打破的,尤其是在你急着赶路的时候。

关于那个记不住的密码

admin的密码又忘了?

systemctl stop firewalld
systemctl disable firewalld
systemctl restart docker

没事,咱有后门。

点开那个名为initialAdminPassword的文件,也就是进行一项cat操作,它正静静地待在那儿,等着你来处理。

可那默认密码长得跟裹脚布似的,谁特么记得住。

docker start tfjenkins tfgitlab

改一个,就改一个简单的。

比如福哥123?

开玩笑的,别真这么设。

反正每次改完,系统都会把你踢出来,让你重新登录。

cat /tongfu.net/data/docker/data/tfjenkins/secrets/initialAdminPassword

如同生活一般,总归会给你一次下马威,向你表明情况,那即是规矩是存在着的,切不可过分得意。

小修小补,都是为了让路顺一点

目录的名字先前拿得任意随性,当前把它更改回去,统一称作tfjenkins啦。

看着顺眼,找着也方便。

还有那个.sock模式,必须得加上。

不然你连命令行都指挥不动,像个哑巴似的,干着急。

云的连接,一瞬间的事儿

进入“Nodes and Clouds”界面。

点那个“Add a new cloud”,选Docker

名字就叫“docker”,简单粗暴。

主机统一资源标识符,是传输控制协议://192.168.168.68:5168。

Save。

这就连上了,像对上了暗号,啪一下,门就开了。

镜像,就是把灵魂打包

以前咱图省事儿,都是挂载目录,把项目文件硬塞进去。

但大厂不这么玩,人家讲究的是镜像发布。

把整个项目文件,连同它的灵魂,都打包进镜像里。

tftest镜像的福哥,是基于先前的tfphp7.4nginx的。

把那套tfphp项目文件,COPY进去,完事儿。

来自,注册处,通福网冒号5000,于其中的,tfphp,版本号7.4,关联nginx,版本为1.0.0。

COPY data/tfphp/ /var/www/

简单得像复制粘贴,但这是把根都挪进去了。

构建,然后看着它跑起来

点一下“Build Now”。

看着控制台的输出滚屏,那种成就感,跟看赛车冲过终点似的。

网址为registry.tongfu.net,端口号是5000的地方,名为tftest,标签为1.0.0的构建,成功了!

rsync -av /tongfu.net/data/dockerfile/ /tongfu.net/data/docker/data/tfjenkins/dockerfile/

去服务器上docker pull下来。

再docker run一个容器,起个名叫ttt吧,随意点。

curl一下localhost/tfnginx.php。

chown 1000.1000 -R /tongfu.net/data/docker/data/tfjenkins/
ls -l /tongfu.net/data/docker/data/tfjenkins/

看到那个熟悉的页面了吗?

它活了。

最后想说的

今天这一通折腾,其实就是把一件麻烦事儿,变得不那么麻烦。

掌握了借助工具来打造镜像,往后不论交付给docker-compose,还是投放至k8s集群,皆能心中有定心的底气感了。

那么,关于可不可以直接借助工具去对docker-compose进行操作以便开展服务部署呢?

mkdir /tongfu.net/data/docker/data/tfjenkins/dockerfile/tftest
vi /tongfu.net/data/docker/data/tfjenkins/dockerfile/tftest/Dockerfile

福哥告诉你,答案是肯定的。

不过,今天就先到这个地步了,关于这桩事情,必定需要留待下一次再去剖析讲解才可,要不然的话,你们恐怕就不会再有那种期待之情了。

FROM registry.tongfu.net:5000/tfphp:7.4-nginx-1.0.0
COPY data/tfphp/ /var/www/

就像连续剧,总得在最精彩的地方,掐掉。

chown 1000.1000 -R /tongfu.net/data/docker/data/tfjenkins/dockerfile/tftest/