目录
[2.1. 拉取镜像](#2.1. 拉取镜像)
[2.2. 查看镜像](#2.2. 查看镜像)
[2.3. 运行镜像](#2.3. 运行镜像)
[2.4. 查看在运行中的容器进程](#2.4. 查看在运行中的容器进程)
[2.5. 访问Nginx](#2.5. 访问Nginx)
[3.1. 拉取镜像](#3.1. 拉取镜像)
[3.2. 运行镜像](#3.2. 运行镜像)
[3.3. 拷贝文件到webapps](#3.3. 拷贝文件到webapps)
[3.4. 访问tomcat](#3.4. 访问tomcat)
[4.1. 拉取运行镜像](#4.1. 拉取运行镜像)
[4.2. 访问ElasticSearch编辑](#4.2. 访问ElasticSearch编辑)
[4.3. 调整ElasticSearch的资源占用率](#4.3. 调整ElasticSearch的资源占用率)
[5.1. 拉取运行镜像](#5.1. 拉取运行镜像)
[5.2. 访问 Portainer](#5.2. 访问 Portainer)
镜像仓库地址:
注:对于Docker常用命令还不熟悉的同学,可以回看上一个章节,巩固常用命令基础
一、镜像仓库介绍
如下图所示,以Nginx为例,进入网站后在搜索栏里可以找自己想要的应用程序的镜像版本:
我们也可以按照上一章讲到的,通过命令docker search nginx来搜索版本信息下载。上图中小红框圈的都是tag
bash
# 搜索ngnix的镜像版本
docker search ngnix
# 根据指定的tag即版本号下载ngnix
docker pull nginx:tag
二、Nginx部署
2.1. 拉取镜像
通过run命令也可以直接拉取镜像再运行
2.2. 查看镜像
2.3. 运行镜像
bash
docker run -d --name nginx1 -p 3355:80 nginx
docker run
:这是Docker的一个基本命令,用于启动一个新的容器。
-d
:这个标志表示"detached mode",即以后台模式运行容器。这意味着容器将在后台运行,并且你可以继续使用你的终端或命令行界面执行其他任务。
--name nginx1
:这个标志用于给容器指定一个名字,这里命名为nginx1
。给容器命名有助于管理和识别,尤其是在你有多个容器运行时。
-p 3344:80
:这个标志用于端口映射。它将宿主机的3344端口映射到容器内部的80端口。这意味着,当你访问宿主机的3344端口时,你实际上是在访问容器内部的Web服务器(例如Nginx)的80端口。
nginx
:这是你想要运行的Docker镜像的名字。在这个例子中,你正在运行Nginx的Docker镜像。
2.4. 查看在运行中的容器进程
Nginx所在容器中的具体位置,可以修改nginx.conf的配置文件,本文不做修改:
2.5. 访问Nginx
通过我的服务器公网IP地址+公网开放的端口,可以成功访问到内网80端口的Nginx
三、Tomcat部署
3.1. 拉取镜像
此处我们先通过pull拉取版本为9.0.0的tomcat镜像
3.2. 运行镜像
不同于安装Nginx时我们先pull拉取镜像,这里我们再演示下直接通过run方法拉取并运行其他版本的镜像,节省pull的操作:
3.3. 拷贝文件到webapps
在通过外网访问前我们先进入到tomcat的webapps目录下,发现里面是空的,没有页面。通常docker镜像生成的tomcat这个文件夹为空,所以为了测试访问我们的tomcat,我们可以把下图中webapps.dist中的内容拷贝到webapps中:
3.4. 访问tomcat
四、ElasticSearch部署
部署ElasticSearch之前我们一定要知道,es暴露的端口比较多,十分耗内存且数据一般需要放置(挂载)到安全的目录下。
4.1. 拉取运行镜像
bash
$ docker run -d --name elasticsearch --net somenetwork -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" elasticsearch:tag
--net somenetwork 可以先删掉,本章不做讲解,在后续章节的Docker网络的内容中再详细阐述。
discovery.type=single-node 表明是单个节点,本章主要作为演示,我们就不做集群了。
bash
docker run -d --name elasticsearch -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" elasticsearch:7.6.2
4.2. 访问ElasticSearch
4.3. 调整ElasticSearch的资源占用率
如果本地的服务器内存资源比较紧张,可以通过如下命令调整ES占用的资源上下限:
bash
docker run -d --name elasticsearch -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" -e ES_JAVA_OPTS="-Xms64m -Xmx512m" elasticsearch:7.6.2
通过docker stats命令我们可以查看各容器的资源占用情况 :
五、Portainer可视化面板安装
5.1. 拉取运行镜像
Portainer 是一个轻量级的管理用户界面,可以用来管理多个Docker环境。以下是使用Docker安装Portainer的步骤:
bash
docker run -d -p 9000:9000 --name portainer --restart always -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer-ce
-
-d
表示在后台运行容器。 -
-p 9000:9000
表示将容器的9000端口映射到宿主机的9000端口。 -
--name portainer
为容器指定一个名称。 -
--restart always
表示如果容器退出,将自动重启。 -
-v /var/run/docker.sock:/var/run/docker.sock
表示将Docker守护进程的Unix套接字挂载到容器中,Portainer可以通过这个套接字与Docker守护进程通信。 -
-v portainer_data:/data
表示创建一个持久化的数据卷来存储Portainer的数据。 -
portainer/portainer-ce
是Portainer的Docker镜像名称。
5.2. 访问 Portainer
第一次访问Portainer时,你需要设置管理员用户和密码。完成设置后,你可以登录并开始管理你的Docker环境。