学习
实践
活动
工具
TVP
写文章
专栏首页AlbertYang的编程之路【云+社区年度征文】Docker教程(3)—Docker安装Tomcat,Nginx与可视化工具Portainer
原创

【云+社区年度征文】Docker教程(3)—Docker安装Tomcat,Nginx与可视化工具Portainer

前面我们讲了Docker的安装使用,以及一些常用的命令。俗话说只说不练假把式,接下来我们使用安装Docker安装一些常用的镜像,练习一下Docker命令的使用。

一. 安装Tomcat

1.1 查找镜像

Docker Hub 上查找 Tomcat 镜像,我们可以通过 Sort by 查看不同版本的 tomcat,默认的是最新版本 tomcat:latest

除此之外,我们还可以使用用 docker search tomcat 命令来查看tomcat可用版本。

[root@albert ~]# docker search tomcat
NAME                          DESCRIPTION                                     STARS               OFFICIAL            AUTOMATED
tomcat                        Apache Tomcat is an open source implementati…   2883                [OK]
tomee                         Apache TomEE is an all-Apache Java EE certif…   84                  [OK]
dordoka/tomcat                Ubuntu 14.04, Oracle JDK 8 and Tomcat 8 base…   55                                      [OK]
bitnami/tomcat                Bitnami Tomcat Docker Image                     36                                      [OK]
kubeguide/tomcat-app          Tomcat image for Chapter 1                      29
consol/tomcat-7.0             Tomcat 7.0.57, 8080, "admin/admin"              17                                      [OK]
cloudesire/tomcat             Tomcat server, 6/7/8                            15                                      [OK]
aallam/tomcat-mysql           Debian, Oracle JDK, Tomcat & MySQL              13                                      [OK]
arm32v7/tomcat                Apache Tomcat is an open source implementati…   10
maluuba/tomcat7-java8         Tomcat7 with java8.                             6
rightctrl/tomcat              CentOS , Oracle Java, tomcat application ssl…   6                                       [OK]
arm64v8/tomcat                Apache Tomcat is an open source implementati…   3
jelastic/tomcat               An image of the Tomcat Java application serv…   2
amd64/tomcat                  Apache Tomcat is an open source implementati…   2
cfje/tomcat-resource          Tomcat Concourse Resource                       2
99taxis/tomcat7               Tomcat7                                         1                                       [OK]
oobsri/tomcat8                Testing CI Jobs with different names.           1
camptocamp/tomcat-logback     Docker image for tomcat with logback integra…   1                                       [OK]
chenyufeng/tomcat-centos      tomcat基于centos6的镜像                              1                                       [OK]
ppc64le/tomcat                Apache Tomcat is an open source implementati…   1
appsvc/tomcat                                                                 1
secoresearch/tomcat-varnish   Tomcat and Varnish 5.0                          0                                       [OK]
s390x/tomcat                  Apache Tomcat is an open source implementati…   0
softwareplant/tomcat          Tomcat images for jira-cloud testing            0                                       [OK]
picoded/tomcat7               tomcat7 with jre8 and MANAGER_USER / MANAGER…   0                                       [OK]
[root@albert ~]#                                                                                                                                                       

1.2 下载镜像

我们可以使用上篇文章使用到的docker pull命令下载Tomcat镜像,此处我们下载最新版本

[root@albert ~]# docker pull tomcat

下载完成后,我们就可以在本地镜像列表里看到 tomcat 的镜像了。

[root@albert ~]# docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
tomcat              latest              e0bd8b34b4ea        12 days ago         649MB
[root@albert ~]#

1.3 运行Tomcat镜像

[root@albert ~]# docker run -d --name tomcatTest -p 8080:8080 tomcat

参数说明:

-d 后台运行

--name 给容器起一个名字

-p 8080:8080:将主机的 8080 端口映射到容器的 8080 端口。(主机端口:容器内部端口)

通过浏览器访问到tomcat的过程

上图描述了通过浏览器访问到Tomcat的过程,如果在本地能访问,在浏览器不能访问,可以根据上述过程查找问题。

1.4 测试Tomcat是否成功运行

1.4.1 本地测试

[root@albert ~]# curl localhost:8080

1.4.2 浏览器测试

由于官方镜像是简化版的,tomcat自带的一些页面已经被删除,所以此处才会出现404页面,能出现404页面说明tomcat已经启动成功。

1.5 停止运行

[root@albert ~]# docker ps
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS                    NAMES
1f63040bbf5b        tomcat              "catalina.sh run"   13 minutes ago      Up 13 minutes       0.0.0.0:8080->8080/tcp   tomcatTest
[root@albert ~]# docker stop 1f63040bbf5b
1f63040bbf5b
[root@albert ~]# docker ps
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
[root@albert ~]#

二. 安装Nginx

2.1 查找镜像

Docker Hub 上查找 Nginx 镜像,我们可以通过 Sort by 查看不同版本的 Nginx,默认的是最新版本 Nginx:latest

2.2 下载镜像

我们可以使用上篇文章使用到的docker pull命令下载nginx镜像,此处我们下载最新版本

[root@albert ~]# docker pull nginx

下载完成后,我们就可以在本地镜像列表里看到 nginx的镜像了。

[root@albert ~]# docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
nginx               latest              bc9a0695f571        10 days ago         133MB
tomcat              latest              e0bd8b34b4ea        2 weeks ago         649MB
[root@albert ~]#

2.3 运行Nginx镜像

[root@albert ~]# docker run -d --name nginxTest -p 8088:80 nginx

参数说明:

-d 后台运行

--name 给容器起一个名字

-p 8088:80:将主机的 8088 端口映射到容器的 80 端口。(主机端口:容器内部端口)

2.4 测试Nginx是否成功运行

2.4.1 本地测试

[root@albert ~]# curl localhost:8088
<!DOCTYPE html>
<html>
<head>
<title>Welcome to nginx!</title>
<style>
    body {
        width: 35em;
        margin: 0 auto;
        font-family: Tahoma, Verdana, Arial, sans-serif;
    }
</style>
</head>
<body>
<h1>Welcome to nginx!</h1>
<p>If you see this page, the nginx web server is successfully installed and
working. Further configuration is required.</p>

<p>For online documentation and support please refer to
<a href="http://nginx.org/">nginx.org</a>.<br/>
Commercial support is available at
<a href="http://nginx.com/">nginx.com</a>.</p>

<p><em>Thank you for using nginx.</em></p>
</body>
</html>
[root@albert ~]#

2.4.2 浏览器测试

2.5 停止运行

[root@albert ~]# docker ps
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                  NAMES
1fa4c26390a6        nginx               "/docker-entrypoint.…"   7 minutes ago       Up 7 minutes        0.0.0.0:8088->80/tcp   nginxTest
[root@albert ~]# docker stop 1fa4c26390a6
1fa4c26390a6
[root@albert ~]# docker ps
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
[root@albert ~]#

三. 可视化图形工具Portainer

Portainer是一个免费的Docker图形化界面管理工具,利用Portainer可以轻松构建,管理和维护Docker环境(Docker 主机或 Swarm 群集)。

3.1 安装Portainer

官网: https://www.portainer.io/

[root@albert ~]# docker volume create portainer_data
portainer_data
[root@albert ~]# docker run -d -p 8000:8000 -p 9000:9000 --name=portainer --restart=always -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer-ce
Unable to find image 'portainer/portainer-ce:latest' locally
latest: Pulling from portainer/portainer-ce
d1e017099d17: Pull complete                                                                                                                                                                              b0718b1ef1b0: Pull complete                                                                                                                                                                              Digest: sha256:0ab9d25e9ac7b663a51afc6853875b2055d8812fcaf677d0013eba32d0bf0e0d
Status: Downloaded newer image for portainer/portainer-ce:latest
bc569d37b6ed8ccbbb18456e825018ae5fbe1bf7fb38f9bc1bf058c9f48a70c9
[root@albert ~]#

注意:端口9000是Portainer用于UI访问的常规端口。EDGE代理仅将端口8000用于反向隧道功能。如果您不打算使用边缘代理,则不需要公开端口8000。

3.2 通过浏览器访问

http://你的服务器IP:9000/

3.2.1 设置用户名和密码

3.2.2 选择连接Docker

3.2.3 查看主机信息

3.2.4 管理镜像

3.2.5 管理容器

剩下的功能大家自己去探索吧,我就不在这里举例了。

今天的学习就到这里了,由于本人能力和知识有限,如果有写的不对的地方,还请各位大佬批评指正。如果想继续学习提高,欢迎关注我,每天学习进步一点点,就是领先的开始,加油。如果觉得本文对你有帮助的话,欢迎转发,评论,点赞!!!

原创声明,本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

登录 后参与评论
0 条评论

相关文章

  • 【云+社区年度征文】Docker教程(1)—Docker简介与安装

    我们开发一个项目的时候通常会有两个环境,本地测试环境和线上环境。项目开发上线的时候,我们通常会把项目打成一个jar包或war包上传到线上的服务器,此时为了让项目...

    AlbertYang
  • 虚拟化容器技术之Docker学习(一)

    Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux或Windows操作系统的机器上...

    静谧星空TEL
  • 【5分钟玩转Lighthouse】轻量应用服务器轻松玩转Docker

    之前Lighthouse 5分钟系列教程里,介绍了使用Docker在轻量应用服务器上搭建应用服务,比如搭建bitwarden个人密码管理器,搭建calibre-...

    风之泪
  • 零基础学Docker【3】 | 一文带你快速进行Docker实战

    本篇是零基础学Docker系列的第三篇文章,在上一篇文章? 一文带你快速学习Docker常用命令中,已经为大家讲解了一些在Docker中常用的命...

    大数据梦想家
  • Docker快速入门总结笔记

    (1)基本介绍 Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从 Apache2.0 协议开源。

    全栈程序员站长
  • 【Docker系列】我的Docker入门历程

    最近打开公众号,看标题就知道就是【云原生】、【Kubernetes 工程师】、【云原生工程师】相关内容了,虽然...但是我还是会点开来看一看,毕竟我也想学习一下...

    用户9913368
  • Docker入门

    选取本地查找镜像,有就运行,没有就远程dockerHUB中拉取,最后找到了就运行,找不到就报错

    收心
  • Docker教程(超全总结)[通俗易懂]

    如果需要通俗地描述容器的话,我觉得容器就是一个存放东西的地方,就像书包可以装各种文具、衣柜可以放各种衣服、鞋架可以放各种鞋子一样。我们现在所说的容器存放的东西可...

    全栈程序员站长
  • 玩转云服务 怎么在服务器安装Docker可视化面板-Portainer

    Portainer(基于 Go)是Docker的图形化管理工具,提供状态显示面板、应用模板快速部署、容器镜像网络数据卷的基本操作(包括上传下载镜像,创建容器等操...

    青阳
  • 墙裂推荐!看完全面掌握,最详细的 Docker 学习笔记总结(2021最新版)

    Docker 是一个开源的容器引擎,可以轻松的为任何应用创建一个轻量级的、可移植的、自给自足的容器。开发者和系统管理员在笔记本上编译测试通过的容器可以批量地在生...

    民工哥
  • 私有化轻量级持续集成部署方案--01-环境配置(下)

    提示:本系列笔记全部存在于 Github, 可以直接在 Github 查看全部笔记

    莫问今朝
  • Docker 实战总结(非常全面),收藏了!

    Docker是一个开源的应用容器引擎,开发者可以打包自己的应用到容器里面,然后迁移到其他机器的docker应用中,可以实现快速部署。

    民工哥
  • 【腾讯云的1001种玩法】征文活动

    腾讯云技术社区「腾云阁」上线以来得到了广大程序员们的支持,为了吸引更多的开发者入驻,现再次举办【腾讯云的1001种玩法】征文活动。只要是与「腾讯云」相关的干货原...

    腾讯云开发者社区
  • Docker 实战总结

    Docker是一个开源的应用容器引擎,开发者可以打包自己的应用到容器里面,然后迁移到其他机器的docker应用中,可以实现快速部署。

    jwangkun
  • Docker可视化工具——Portainer全解

    Portainer是一个可视化的Docker操作界面,提供状态显示面板、应用模板快速部署、容器镜像网络数据卷的基本操作(包括上传下载镜像,创建容器等操作)、事件...

    w9
  • Docker学习教程笔记第二篇:Docker从入门到熟练使用详解

    Docker的基础是Linux容器(LXC)等技术,(LXC系统提供工具来管理容器,具有先进的网络和存储支持,还有最小容器操作系统模版的广泛选择)。

    聚优云惠
  • 震惊 | 只需3分钟!极速部署个人Docker云平台

    注意:部署这些编排工具的时候服务器数量不定,1台服务器也行,所以读者可以自由增减服务器。

    云爬虫技术研究笔记
  • Docker进阶-资源管理Swarm+Portainer

    Docker Swarm是Docker官方三剑客项目之一,提供Docker容器集群服务,是Docker官方对容器云生态进行支持的核心方案。

    小码农薛尧

扫码关注腾讯云开发者

领取腾讯云代金券