Docker实操

设置防火墙开放端口

1、防火墙的开启、关闭、禁用命令
设置开机启用防火墙:systemctl enable firewalld.service
设置开机禁用防火墙:systemctl disable firewalld.service
启动防火墙:systemctl start firewalld
关闭防火墙:systemctl stop firewalld
查看防火墙状态:systemctl status firewalld

2、使用firewall-cmd配置端口
查看防火墙状态:firewall-cmd --state
重新加载配置:firewall-cmd --reload
查看开放的端口:firewall-cmd --list-ports
开启防火墙端口:firewall-cmd --zone=public --add-port=9200/tcp --permanent
命令含义:
–zone #作用域
–add-port=9200/tcp #添加端口,格式为:端口/通讯协议
–permanent #永久生效,没有此参数重启后失效
注意:添加端口后,必须用命令firewall-cmd --reload重新加载一遍才会生效.
3:查看linux打开了哪些端口
netstat -tuln
ss -tuln
4:查看当前打开的网络连接和监听端口
lsof -i

注意:防火墙开启后,若网络可以ping通,但不能访问的话就需要按照下面设置
4、开启网络转发 不然会报错 需要开firewalld
vim /etc/sysctl.conf  #插入以下内容
net.ipv4.ip_forward = 1
sysctl  -p   #生效

5、重启防火墙,重启docker
systemctl restart firewalld
systemctl restart docker

 

  

一、docker安装nginx

#1、搜索镜像 docker search 建议大家去dockerhub上搜索,可以查看到帮助文档

#2、下载镜像 docker pull 

#3、运行测试

[root@localhost /]# docker images
REPOSITORY   TAG       IMAGE ID       CREATED       SIZE
nginx        latest    61395b4c586d   6 days ago    187MB
centos       latest    5d0da3dc9764   2 years ago   231MB

# -d  后台运行

# --name 给容器命名

# -p 宿主机端口:容器内端口
[root@localhost /]# docker run -d --name nginx01 -p 3344:80 nginx
8c8bd9f5a3322968f268b810354e9a80e7b536b51b632dbfc97e1ff7fa1e0c52
[root@localhost /]# docker ps
CONTAINER ID   IMAGE     COMMAND                   CREATED          STATUS          PORTS                                   NAMES
8c8bd9f5a332   nginx     "/docker-entrypoint.…"   11 seconds ago   Up 10 seconds   0.0.0.0:3344->80/tcp, :::3344->80/tcp   nginx01
[root@localhost /]# curl localhost:3344
<!DOCTYPE html>
<html>
<head>
<title>Welcome to nginx!</title>
<style>
html { color-scheme: light dark; }
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>

二、docker安装tomcat

# 下载tomcat

docker pull tomcat

#  启动运行tomcat容器

docker run -d --name tomcat01 -p 3355:8080 tomcat

#外网测试访问有问题,原因是下载的tomcat镜像是不完整版本

#进入容器

docker exec -it tomcat /bin/bash

#发现问题:webapps中缺少文件

#解决方法,将webapps.dist中的文件拷贝到webapps中即可解决

root@2e36e05fdd77:/usr/local/tomcat# cp -r webapps.dist/* webapps
 

三、部署es+kibana

# es 暴露的端口很多

# es 十分的耗内存

# es 的数据一般需要放置到安全目录,挂载

# 启动 elasticsearch

docker run -d --name elasticsearch -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" elasticsearch:7.6.2

# elasticsearch启动后,linux是相当的卡  docker stats可以查看cpu的状态

# 测试es是否运行成功

[root@localhost ~]# curl localhost:9200
{
  "name" : "be9bde185b8e",
  "cluster_name" : "docker-cluster",
  "cluster_uuid" : "yG8hg8arQIG5rWh6JPUxAA",
  "version" : {
    "number" : "7.6.2",
    "build_flavor" : "default",
    "build_type" : "docker",
    "build_hash" : "ef48eb35cf30adf4db14086e8aabd07ef6fb113f",
    "build_date" : "2020-03-26T06:34:37.794943Z",
    "build_snapshot" : false,
    "lucene_version" : "8.4.0",
    "minimum_wire_compatibility_version" : "6.8.0",
    "minimum_index_compatibility_version" : "6.0.0-beta1"
  },
  "tagline" : "You Know, for Search"
}
#如果虚拟机的配置有限,很卡顿的话,我们就修改配置文件 -e 来限制es启动时需要的内存

docker run -d --name elasticsearch01 -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" -e ES_JAVA_OPTS="-Xms64m -Xmx512m" elasticsearch:7.6.2
 

四、commit镜像

镜像是什么

镜像是一种轻量级、可执行的独立包,用来打包软件运行环境和基于运行环境开发的软件,它包含运行某个软件所需的所有内容,包括代码、运行时、库、环境变量和配置文件

# 命令和git原理类似

docker commit -m="提交的描述信息" -a="作者" 容器id  目标镜像名:[TAG]

实战测试

# 启动一个默认的tomcat

# 发现这个默认的tomcat没有webapps应用,这个是官方镜像的原因

# 把tomcat中webapp.dist的文件拷贝到webapps中

# 命令

cp -r webapps.dist/* webapps

# 将我们操作过的容器通过commit提交为一个镜像,供我们以后直接使用

[root@localhost ~]# docker commit -m="commit tomcat" -a="luohai" 6a0e69150bd3 tomcat01:1.0
sha256:d72191adbb54fb9189d77f2a31cb555eae503a13cb9f46d88af5f7e66cc6beff
[root@localhost ~]# docker images
REPOSITORY      TAG       IMAGE ID       CREATED         SIZE
tomcat01        1.0       d72191adbb54   3 seconds ago   430MB
redis           latest    da63666bbe9a   7 days ago      138MB
nginx           latest    61395b4c586d   7 days ago      187MB
tomcat          9.0       3740ba5d8885   3 weeks ago     427MB
tomcat          latest    d0ed0a728666   3 weeks ago     426MB
centos          latest    5d0da3dc9764   2 years ago     231MB
elasticsearch   7.6.2     f29a1ee41030   3 years ago     791MB
 

  • 9
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是在 Docker 上部署 Tomcat 的基本实操步骤: 1. 下载 Tomcat 官方镜像 在 Docker 中部署 Tomcat 需要先下载 Tomcat 的官方镜像。可以在 Docker Hub 上找到 Tomcat 的官方镜像,使用以下命令下载: ``` docker pull tomcat ``` 2. 创建一个 Tomcat 容器 使用以下命令创建一个新的 Tomcat 容器: ``` docker run -it --name my-tomcat -p 8080:8080 tomcat ``` 该命令将创建一个名为“my-tomcat”的新容器,使用 Tomcat 镜像,并将容器的 8080 端口映射到主机的 8080 端口。`-it` 参数将终端连接到容器,以便在容器内执行命令。 3. 启动 Tomcat 容器 使用以下命令启动 Tomcat 容器: ``` docker start my-tomcat ``` 4. 访问 Tomcat Web 应用 在浏览器中访问 `http://localhost:8080`,即可看到 Tomcat 默认的欢迎页面。 5. 部署自己的 Web 应用程序 将自己的 Web 应用程序打包成 `.war` 文件,并将其拷贝到容器中的 `/usr/local/tomcat/webapps` 目录下即可。可以使用以下命令将 `.war` 文件拷贝到容器中: ``` docker cp my-app.war my-tomcat:/usr/local/tomcat/webapps/ ``` 注意:`my-app.war` 是你的 Web 应用程序的名称。 6. 重启 Tomcat 容器 使用以下命令重启 Tomcat 容器: ``` docker restart my-tomcat ``` 7. 访问自己的 Web 应用程序 在浏览器中访问 `http://localhost:8080/my-app`,即可访问自己的 Web 应用程序。注意:`my-app` 是你的 Web 应用程序的上下文路径。如果没有指定上下文路径,则可以使用 `http://localhost:8080/` 访问应用程序。 以上就是在 Docker 上部署 Tomcat 的基本实操步骤。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值