在Docker中容器本身可以在端口上运行应用程序,在运行容器时如果希望通过端口号访问容器中的应用程序,需要将容器的端口号映射到Docker主机的端口号,下面让我们看一个如何实现这一点的例子。
在我们的示例中我们从Docker
Hub下载Jenkins容器,然后我们将把Jenkins端口号映射到Docker主机上的端口号。
1、从docker hub下载Jenkins容器
步骤1——首先你需要在Docker Hub上进行简单的注册。
步骤2 ——一旦你注册了就可以登录到Docker Hub。
步骤3——接下来让我们查找并找到Jenkins镜像。
步骤4——查看页面右边可以看到Docker pull命令,这将用于将Jenkins镜像下载到本地Ubuntu服务器上。
步骤5——现在转到Ubuntu服务器并运行命令
sudo docker pull jenkins
步骤6 ——要了解容器暴露了哪些端口,应该使用Docker inspect命令检查镜像,下面让我们进一步了解这个inspect命令。
2、docker inspect
此命令允许返回容器或镜像上的低级信息,docker inspect使用语法如下:
docker inspect Container/Image
选项解释:container/image——要检查的容器或镜像,返回值为:JSON格式的镜像或容器的底层信息。下面是使用docker inspect的例子:
sudo docker inspect jenkins
inspect命令的输出给出一个JSON输出,如果我们观察输出,我们可以看到有一节“ExposedPorts”,并看到提到了两个端口:一个是8080的数据端口,另一个是50000的控制端口。
3、docker run指定端口
要运行Jenkins并映射端口,你需要更改Docker run命令并添加指定端口映射的“p”选项,因此你需要运行以下命令
sudo docker run -p 8080:8080 -p 50000:50000 jenkins
端口号映射的左侧是要映射到的Docker主机端口,右侧是Docker容器端口号。
当你打开浏览器并导航到端口8080上的Docker主机时,你将看到Jenkins正在运行。