Docker - 安装常用服务

Docker - 安装常用服务

防火墙

对外开放访问,需要开放指定的端口提供对外访问

# 防火墙状态
systemctl status firewalld
# 开启防火墙
systemctl start firewalld
# 关闭防火墙
systemctl stop firewalld

# 开放端口
firewall-cmd --zone=public --add-port=10002/tcp --permanent

# 命令含义:
–zone #作用域
–add-port=80/tcp #添加端口,格式为:端口/通讯协议
–permanent #永久生效,没有此参数重启后失效( —permanent放在前面与后面都行)

# 重启防火墙
firewall-cmd --reload

# 验证修改是否生效
firewall-cmd --zone= public --query-port=10002/tcp

# 移除指定端口
firewall-cmd --permanent --remove-port=123/tcp

# 查看已开放的端口
firewall-cmd --zone=public --list-ports

Nginx

  1. 搜索镜像 Search 【建议去网页搜索】
  2. 下载镜像 pull
# 运行 nginx 容器
[root@iZ2zeg7mctvft5renx1qvbZ home]# docker images
REPOSITORY   TAG       IMAGE ID       CREATED       SIZE
nginx        latest    c20060033e06   8 days ago    187MB
centos       latest    5d0da3dc9764   2 years ago   231MB
[root@iZ2zeg7mctvft5renx1qvbZ home]# docker run -d --name nginx-docker -p 80:80 nginx
97721fc83a19f5907d0bbfe47d5fd898285fe7aac1146f952a77b7dd20cd2d63
[root@iZ2zeg7mctvft5renx1qvbZ home]# curl localhost:80
<!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>

# 进入 nginx
[root@iZ2zeg7mctvft5renx1qvbZ home]# docker exec -it nginx-docker /bin/bash
root@97721fc83a19:/# whereis nginx
nginx: /usr/sbin/nginx /usr/lib/nginx /etc/nginx /usr/share/nginx
root@97721fc83a19:/# cd /etc/nginx/
root@97721fc83a19:/etc/nginx# ls
conf.d	fastcgi_params	mime.types  modules  nginx.conf  scgi_params  uwsgi_params

端口暴露的概念

使用阿里云ECS需要配置安全组入方向

在这里插入图片描述

Tomcat

# 官方使用
docker run -it --rm tomcat:9.0

# 我们之前的启动都是后台,停止了容器之后,容器还是可以查到 docker run -it --rm 一般用来测试,用完就删除

# 下载在启动
docker pull tomcat

# 启动运行
[root@iZ2zeg7mctvft5renx1qvbZ home]# docker run -d -p 8080:8080 tomcat
889e4b97acb2004fa98d8e2ec77f4ccca670fabeac3feb4a5d057bd770b724a7

# 进入容器
[root@iZ2zeg7mctvft5renx1qvbZ home]# docker ps
CONTAINER ID   IMAGE     COMMAND             CREATED         STATUS         PORTS                                       NAMES
889e4b97acb2   tomcat    "catalina.sh run"   6 minutes ago   Up 6 minutes   0.0.0.0:8081->8080/tcp, :::8081->8080/tcp   lucid_matsumoto
[root@iZ2zeg7mctvft5renx1qvbZ home]# docker exec -it 889e4b97acb2  /bin/bash
root@889e4b97acb2:/usr/local/tomcat# ls -a
.  ..  bin  BUILDING.txt  conf  CONTRIBUTING.md  lib  LICENSE  logs  native-jni-lib  NOTICE  README.md  RELEASE-NOTES  RUNNING.txt  temp  webapps  webapps.dist  work
root@889e4b97acb2:/usr/local/tomcat# ls -al
total 128
drwxr-xr-x 1 root root    30 Oct 31 03:36 .
drwxr-xr-x 1 root root    20 Oct 31 03:34 ..
drwxr-xr-x 2 root root  4096 Oct 31 03:36 bin
-rw-r--r-- 1 root root 20122 Oct 11 23:38 BUILDING.txt
drwxr-xr-x 1 root root    22 Nov  9 05:43 conf
-rw-r--r-- 1 root root  6210 Oct 11 23:38 CONTRIBUTING.md
drwxr-xr-x 2 root root  4096 Oct 31 03:36 lib
-rw-r--r-- 1 root root 60393 Oct 11 23:38 LICENSE
drwxrwxrwt 1 root root    80 Nov  9 05:43 logs
drwxr-xr-x 2 root root   158 Oct 31 03:36 native-jni-lib
-rw-r--r-- 1 root root  2333 Oct 11 23:38 NOTICE
-rw-r--r-- 1 root root  3398 Oct 11 23:38 README.md
-rw-r--r-- 1 root root  6776 Oct 11 23:38 RELEASE-NOTES
-rw-r--r-- 1 root root 16076 Oct 11 23:38 RUNNING.txt
drwxrwxrwt 2 root root    30 Oct 31 03:36 temp
drwxr-xr-x 2 root root     6 Oct 31 03:36 webapps
drwxr-xr-x 7 root root    81 Oct 11 23:38 webapps.dist
drwxrwxrwt 2 root root     6 Oct 11 23:38 work

# 将 webapps.dist 拷贝到 webapps 下使用
root@889e4b97acb2:/usr/local/tomcat# ls -a
.  ..  bin  BUILDING.txt  conf  CONTRIBUTING.md  lib  LICENSE  logs  native-jni-lib  NOTICE  README.md  RELEASE-NOTES  RUNNING.txt  temp  webapps  webapps.dist  work
root@889e4b97acb2:/usr/local/tomcat# cp -r webapps.dist/* webapps/
root@889e4b97acb2:/usr/local/tomcat# cd webapps
root@889e4b97acb2:/usr/local/tomcat/webapps# ls
docs  examples  host-manager  manager  ROOT
root@889e4b97acb2:/usr/local/tomcat/webapps# ls -a
.  ..  docs  examples  host-manager  manager  ROOT

ES + kibana

# ES 暴露端口多
# ES 十分耗内存
# ES 的数据一般需要放置到安全目录!挂载
# --net somenetwork ? 网络配置

# 启动 elasticsearch
# 命令 【如果是内存配置较低不建议直接使用,参考下面的添加内存使用限制大小的命令启动】
docker run -d --name elasticsearch -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" elasticsearch:7.6.2

[root@iZ2zeg7mctvft5renx1qvbZ ~]# docker run -d --name elasticsearch -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" elasticsearch:7.6.2
Unable to find image 'elasticsearch:7.6.2' locally
7.6.2: Pulling from library/elasticsearch
ab5ef0e58194: Pull complete 
c4d1ca5c8a25: Pull complete 
941a3cc8e7b8: Pull complete 
43ec483d9618: Pull complete 
c486fd200684: Pull complete 
1b960df074b2: Pull complete 
1719d48d6823: Pull complete 
Digest: sha256:1b09dbd93085a1e7bca34830e77d2981521a7210e11f11eda997add1c12711fa
Status: Downloaded newer image for elasticsearch:7.6.2
7331b21d4c7bda10271d8ff769b7580e6d53166c63f97ec7509b92ed172207e7


# elasticsearch 本身是非常占用内存的,通过 docker stats 查看内存占用【这里使用命令时,内存占用过大,命令结果加载不出来。】
[root@iZ2zeg7mctvft5renx1qvbZ ~]# docker stats

# 如果启动了,关闭后增加内存的限制,修改配置文件 -e 环境配置修改
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

[root@iZ2zeg7mctvft5renx1qvbZ ~]# 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
26d606f02c30a3643f39c8b2795c9e7872766f25e4f4d9c150f9e6a1ad55b0ed
[root@iZ2zeg7mctvft5renx1qvbZ ~]# docker stats
CONTAINER ID   NAME            CPU %     MEM USAGE / LIMIT     MEM %     NET I/O     BLOCK I/O    PIDS
26d606f02c30   elasticsearch   1.55%     232.2MiB / 1.678GiB   13.51%    962B / 0B   120MB / 0B   19

可视化

  • portainer (先用这个)

    Docker图形化界面管理工具!提供一个后台面板供我们操作!

# 命令
docker run -d -p 8080:9000 \
--restart=always -v /var/run/docker.sock:/var/run/docker.sock --privileged=true portainer/portainer


[root@iZ2zeg7mctvft5renx1qvbZ ~]# docker run -d -p 8080:9000 \
> --restart=always -v /var/run/docker.sock:/var/run/docker.sock --privileged=true portainer/portainer
Unable to find image 'portainer/portainer:latest' locally
latest: Pulling from portainer/portainer
772227786281: Pull complete 
96fd13befc87: Pull complete 
0bad1d247b5b: Pull complete 
b5d1b01b1d39: Pull complete 
Digest: sha256:47b064434edf437badf7337e516e07f64477485c8ecc663ddabbe824b20c672d
Status: Downloaded newer image for portainer/portainer:latest
9ef7881ea7b7e59b949d5da57cebcd5da6d7eb282fccb0ce6be838b0f19ad75f

​ 访问测试:

在这里插入图片描述

在这里插入图片描述

  • Rancher (CI/CD再用)

    Rancher是一个开源的企业级容器管理平台。Rancher提供了在生产环境中使用的管理Docker和Kubernetes的全栈化容器部署与管理平台,简单的说就是可以用rancher来管理docker和kubernetes集群,比如管理主机,容器的启动、停止和删除等。

说明:摘抄B站 “狂神说” 视频

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/126243.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

SNP应邀参加2023中国企业数字化转型峰会暨赛意用户大会

创新驱动科技&#xff0c;数智驱动未来。如今&#xff0c;我国产业数字化进程提速升级&#xff0c;数字产业化规模持续壮大。数据显示&#xff0c;2022年&#xff0c;我国数字经济规模达50.2万亿元&#xff0c;总量稳居世界第二。数字经济已经成为推动传统产业转型升级、促进高…

Ansible优化大全

文章目录 一、关闭系统信息收集二、开启加速 Ansible 执行速度修改配置文件/etc/ansible/ansible.cfg由于该功能与sudo冲突&#xff0c;必须关闭 requiretty 选项方法一方法二 参考文章&#xff1a; https://blog.csdn.net/o0o0o0D/article/details/110998873 一、关闭系统信息…

deeplog中输出某个 event 的概率

1 实现之后效果 # import DeepLog and Preprocessor import numpy as np from deeplog import DeepLog import torch# Create DeepLog object deeplog DeepLog(input_size 10, # Number of different events to expecthidden_size 64 , # Hidden dimension, we suggest 64…

在新的服务器上成功安装mysqlclient的方法【解决No matching distribution found for mysqlclient的问题】

前言&#xff1a;在某台Centos服务器上安装mysqlclient时一直报下面的错&#xff1a; WARNING: Discarding https://mirrors.aliyun.com/pypi/packages/6a/91/bdfe808fb5dc99a5f65833b370818161b77ef6d1e19b488e4c146ab615aa/mysqlclient-1.3.0.tar.gz#sha25606eb5664e3738b28…

Count-based exploration with neural density models论文笔记

Count-based exploration with neural density models[J]. International Conference on Machine Learning,International Conference on Machine Learning, 2017. 基于计数的神经密度模型探索 0、问题 这篇文章的关键在于弄懂pseudo-count的概念&#xff0c;以及是如何运用…

Apache Druid连接回收引发的血案

问题 线上执行大批量定时任务&#xff0c;发现SQL执行失败的报错&#xff1a; CommunicationsException, druid version 1.1.10, jdbcUrl : jdbc:mysql://xxx?useUnicodetrue&characterEncodingUTF-8&zeroDateTimeBehaviorconvertToNull,testWhileIdle true, idle …

工商业微电网储能盈利方式研究笔记

1. 光储微电网 1.1. 关于光储微电网 光储微电网可以看成是一组由分布式光伏、储能装置、本地负荷组成的包括发、输、配、用管理系统在内的小型局域电网&#xff0c;并通过唯一的公共连接点接入大电网&#xff0c;既可以并网运行也可以独立运行。 发展分布式光储微电网的意义…

利用servlet实现对书籍书名、单价、数量等信息的添加,计算总价

1.题目要求 利用servlet实现对书籍书名、单价、数量等信息的添加&#xff0c;计算总价。 要求&#xff1a;输入两次表单信息&#xff0c;在一个成功返回的页面里面显示两次的数据。 2.Book实体类 package com.hjj.sevletgk.hw7.book;/*** author:嘉佳 Date:2023/10/8 15:16*…

SOME/IP 协议介绍(三)参数和数据结构的序列化

参数和数据结构的序列化 序列化是基于接口规范定义的参数列表。为了允许服务接口的迁移&#xff0c;反序列化&#xff0c;代码应忽略附加在先前已知的参数列表末尾的参数&#xff1b;也就是说&#xff0c;忽略在用于生成或参数化反序列化代码的接口规范中未定义的参数。 接口…

python 视频硬字幕去除 内嵌字幕去除工具 vsr

项目简介 开源地址&#xff1a;https://github.com/YaoFANGUK/video-subtitle-remover Video-subtitle-remover (VSR) 是一款基于AI技术&#xff0c;将视频中的硬字幕去除的软件。 主要实现了以下功能&#xff1a; 无损分辨率将视频中的硬字幕去除&#xff0c;生成去除字幕后…

本地部署企业邮箱,让企业办公更安全高效

随着信息化时代的到来&#xff0c;企业邮箱几乎成了企业办公的标配&#xff0c;承载着企业业务往来和办公协同的重要职能。基于安全性、个性化需求、系统集成等方面的需要&#xff0c;许多企业选择本地部署企业邮箱&#xff0c;本地化部署不仅能有效保障企业信息安全的同时&…

Spring6学习笔记01

一、课程简介 Spring框架是一款极其优秀的轻量级开源框架&#xff0c;为了解决企业应用开发的复杂性而出现。Spring框架的用途不仅仅限于服务器端的开发&#xff0c;从简单性、可测试性和松耦合性角度而言&#xff0c;绝大部分Java应用都可以从Spring中受益。Spring框架凭借其…

机器人制作开源方案 | 晾衣收纳一体机器人

一、作品简介 作者&#xff1a;仓天赐 黄云超 吴正乐 高骏 代思旭 单位&#xff1a;泰州学院 指导老师&#xff1a;宋向前 李杨作者&#xff1a;仓天赐 黄云超 吴正乐 高骏 代思旭 单位&#xff1a;泰州学院 指导老师&#xff1a;宋向前 李杨 与智能家居系统含义近似的…

【Axure高保真原型】树切换动态面板案例

今天和大家分享树切换动态面板的原型模板&#xff0c;点击树的箭头可以打开或者收起子节点&#xff0c;点击最后一级人物节点&#xff0c;可以切换右侧面板的状态到对应的页面&#xff0c;左侧的树是通过中继器制作的&#xff0c;使用简单&#xff0c;只需要按要求填写中继器表…

【广州华锐互动】智能楼宇3D数字化展示,实现对建筑物的实时监控和管理

随着科技的不断发展&#xff0c;人们对于生活品质的要求也在不断提高。在这个信息爆炸的时代&#xff0c;如何将复杂的数据以直观、生动的方式呈现给用户&#xff0c;已经成为了一个重要的课题。智能楼宇3D数字化展示作为一种新型的建筑科技&#xff0c;正逐渐成为行业的新宠&a…

【QML】Qt和QML获取操作系统类型

1. Qt获取系统类型 //方法 QSysInfo::productType()//举例&#xff1a; if(QSysInfo::productType() "windows") {qDebug() << "windows system"; }官方说明&#xff1a; [static] QString QSysInfo::productType() Returns the product name of …

IntelliJ Idea 撤回git已经push的操作

最初的样子 现在的样子 解决方案 第一步&#xff0c;commit到本地撤回&#xff1a; 打开提交历史记录&#xff0c;选中回退的版本右键&#xff0c;点击“Reset Current Branch to Here…”,然后选中“Mixed”&#xff0c;点击Reset后&#xff0c;之前commit的代码会在本地显…

黑豹程序员-架构师学习路线图-百科:Knife4j API接口文档管理

文章目录 由来&#xff1a;接口文档第一代&#xff1a;Swagger第二代&#xff1a;Knife4j界面 由来&#xff1a;接口文档 古老编程是一个语言前后端通吃&#xff0c;ASP、JSP、PHP都是如此。 但随着项目规模变大&#xff0c;项目团队也开始壮大&#xff0c;岗位职责开始细分&a…

【STM32】定时器

systick定时器&#xff1a; 【STM32】Systick定时器-CSDN博客 0.通用定时器框图 1.时钟源 2.控制器 3.输入捕获 计数器实际上是与比较寄存器的影子寄存器进行比较的。 4.输出比较 1.STM32的定时器学习要点 参考手册 STM32F1xx中文参考手册.pdf 林何/STM32F103C8 - 码云 -…