Hello,各位!这一讲开始,我们就要开始我们的应用咯!请坐稳扶好,咱要发车了!
为什么我们要部署Jenkins呢?
安装很多有趣的第三方程序有可能会是我们日常工作或个人开发时会遇到的遇到的一些基本需求,所以是的,这次我们就以Docker容器的形式部署Jenkins为例。 首先,先让我们从第一步开始。
让我们逛下Docker hub
好的,我们成功地在Hub里找到了Jenkins。 点进这个jenkins详情页里, 我们会注意到右边有条下载命令:
docker pull jenkins
所以,这意味着我们通过在Terminal里执行这条命令的方式下载该镜像。
开始下载
当我们在Terminal里粘贴了这条命令,并执行。你可能会期待它显示成功的信息,但你可能得到的是以下信息:
Using default tag: latest
Error response from daemon: manifest for jenkins:latest not found: manifest unknown: manifest unknown
然后你可能会想到要不试试指定某个版本,然后回到Docker hub的jenkins网页往下翻可用tag,如下图所示: 但在这个项目的话,我们可以执行下列命令来下载:
docker pull jenkins/jenkins
输入这条命令后,Terminal应该就会显示下载信息了,在国内的话可能要多花费一些时间进行下载,页可以考虑更换一下镜像源,应该已经有很多博主发过如何更换的方法的文章了,我这里便不赘述。
下载完成后
我们可以查看下jenkins是否存在于我们的image列表里了:
docker image ls
输出如下:
REPOSITORY TAG IMAGE ID CREATED SIZE
jenkins/jenkins latest 256d8774b5a7 3 days ago 567MB
ubuntu latest 1318b700e415 10 days ago 72.8MB
然后我们可以检视下jenkins的信息:
docker inspect [IMAGE ID]
然后找到我们比较感兴趣的下列信息:
"ExposedPorts": {
"50000/tcp": {},
"8080/tcp": {}
}
8080是Jenkins容器实际运行时所使用的端口
现在,为了通过我们现在使用的机器访问Jenkins容器,我们需要把8080映射到一些外部端口上,所以我们执行下列命令:
docker run -d -p 80:8080 jenkins/jenkins
这条命令的翻译是以后台模式启动一个容器,将容器的 8080 端口映射到主机的 80 端口.
之后我们验证下我们的容器是否开始运行了:
docker ps
输出信息应该类似下面所示:
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
51f373fdb919 jenkins/jenkins "/sbin/tini -- /usr/…" 8 minutes ago Up 7 minutes 50000/tcp, 0.0.0.0:80->8080/tcp, :::80->8080/tcp pedantic_nash
9017cdca79ce ubuntu "bash" 2 hours ago Up 2 hours infallible_herschel
让我们通过浏览器验证下
我们在浏览器里输入:
localhost:80
按回车,然后我们应该可以看到以下页面 通过翻译页面,我们知道了它想让我们根据指示解锁Jenkins。所以,让我们复制页面上的log 路径:
/var/jenkins_home/secrets/initialAdminPassword
回到Terminal 后执行下列命令:
docker exec [容器id] cat /var/jenkins_home/secrets/initialAdminPassword
b09a75b099c64f2a930b43b2b19b5015
docker exec [容器id] cat 就是使用容器的cat命令查看/var/jenkins_home/secrets/initialAdminPasswordb09a75b099c64f2a930b43b2b19b5015 的内容。 这条命令的输出是一长串字符串,也就是解锁Jenkins所需的密码。我们复制好这条字符串, 并将它粘贴到Jenkins的密码输入框中 然后我们点击continue 点击Install suggested plugins。 等到安装完毕后,在创建Admin user界面填入自己的个人信息,然后点击Save and Continue->Finish
然后我们就成功部署了Jenkins了,如果你想停止应用程序的话,就运行:
docker stop [容器id]
总结
我们这一讲就学习了如何用Docker container部署一个应用程序。在下一讲的话,我们会学习Docker网络。
|