第三章 Docker中常用软件安装部署练习

目录

一、镜像仓库介绍

二、Nginx部署

[2.1. 拉取镜像](#2.1. 拉取镜像)

[2.2. 查看镜像](#2.2. 查看镜像)

[2.3. 运行镜像](#2.3. 运行镜像)

[2.4. 查看在运行中的容器进程](#2.4. 查看在运行中的容器进程)

[2.5. 访问Nginx](#2.5. 访问Nginx)

三、Tomcat部署

[​3.1. 拉取镜像](#3.1. 拉取镜像)

[3.2. 运行镜像](#3.2. 运行镜像)

[3.3. 拷贝文件到webapps](#3.3. 拷贝文件到webapps)

[3.4. 访问tomcat](#3.4. 访问tomcat)

四、ElasticSearch部署

[4.1. 拉取运行镜像](#4.1. 拉取运行镜像)

[​4.2. 访问ElasticSearch​编辑](#4.2. 访问ElasticSearch编辑)

[4.3. 调整ElasticSearch的资源占用率](#4.3. 调整ElasticSearch的资源占用率)

五、Portainer可视化面板安装

[5.1. 拉取运行镜像](#5.1. 拉取运行镜像)

[5.2. 访问 Portainer](#5.2. 访问 Portainer)


镜像仓库地址:

​​​​​​https://image.cgdcgd.cc/search?q=nginx

注:对于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环境。

相关推荐
二十雨辰10 分钟前
[linux]docker基础
linux·运维·docker
time never ceases43 分钟前
使用docker方式进行Oracle数据库的物理迁移(helowin/oracle_11g)
数据库·docker·oracle
Jason-河山44 分钟前
【自动化更新,让商品信息跳舞】——利用API返回值的幽默编程之旅
运维·自动化
lihuhelihu1 小时前
第3章 CentOS系统管理
linux·运维·服务器·计算机网络·ubuntu·centos·云计算
哲讯智能科技1 小时前
SAP Business One市场价格解析
运维·sap·erp
YCyjs1 小时前
K8S群集调度二
云原生·容器·kubernetes
Hoxy.R1 小时前
K8s小白入门
云原生·容器·kubernetes
山东布谷科技官方1 小时前
布谷直播源码部署服务器关于数据库配置的详细说明
运维·服务器·数据库·直播系统源码·直播源码·直播系统搭建·直播软件开发
One_Blanks1 小时前
渗透测试-Linux基础(1)
linux·运维·安全
爱吃喵的鲤鱼1 小时前
linux进程的状态之环境变量
linux·运维·服务器·开发语言·c++