专栏首页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 管理容器

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

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

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

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

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 【5分钟玩转Lighthouse】轻量应用服务器轻松玩转Docker

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

    风之泪
  • 玩转云服务 怎么在服务器安装Docker可视化面板-Portainer

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

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

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

    民工哥
  • 如何用可视化工具,管理蘑菇博客中的微服务组件?

    今天给小伙伴们带来的是管理蘑菇博客微服务组件,一款 Docker 可视化工具 Portainer 的安装和使用。

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

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

    大数据梦想家
  • 【云+社区年度征文】Docker教程(1)—Docker简介与安装

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

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

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

    w9
  • Docker进阶-资源管理Swarm+Portainer

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

    小码农薛尧
  • 震惊 | 只需3分钟!极速部署个人Docker云平台

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

    云爬虫技术研究笔记
  • 可视化Docker快速安装部署教程

    [Docker]是一个用于开发,交付和运行应用程序的开放平台。Docker 使您能够将应用程序与基础架构分开,从而可以快速交付软件。借助 Docker,您可以与...

    w9
  • 重学Docker

    以前开发项目有开发的环境、测试的环境、还有生产的环境,每经过一阶段就要迁移项目。不同的环境有不同的配置,可能导致不可预估的错误,运维要经常性的改动

    晚上没宵夜
  • Docker Swarm资源管理

    Docker Swarm是Docker官方项目之一,是使用SwarmKit构建的Docker引擎内置的集群管理和编排工具,提供Docker容器集群服务,是Doc...

    CodingDiray
  • Docker 实战总结(非常全面),收藏了!

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

    民工哥
  • 【翻译】t-pot 16.10-多蜜罐平台

    t-pot 16.10-多蜜罐平台 2016年10月31日,德国电信公司Honeypot项目 在2016年3月,我们发布了T-Pot 16.03,积极的反馈鼓励...

    安恒网络空间安全讲武堂
  • Docker学习教程笔记第二篇:Docker从入门到熟练使用详解

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

    聚优云惠
  • java学习路线图(2019最新版)

    2019年最新Java学习路线图, 路线图的宗旨就是分享,专业,便利,让喜爱Java的人,都能平等的学习。从今天起不要再找借口,不要再说想学Java却没有资源,...

    动力节点Java培训
  • 【腾讯云的1001种玩法】征文活动

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

    云加社区
  • Docker 实战总结

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

    肉眼品世界
  • EdgeX Foundry试运行

    EdgeX Foundry是一个由Linux基金会发起的,且厂商中立的开源IoT边缘计算项目。它可以采集来自多个源的数据,并将这些数据转发到一个中央系统。Edg...

    charlieroro

扫码关注云+社区

领取腾讯云代金券