docker安装运行环境相关的容器

docker安装常用软件步骤

docker安装Tomcat:latest

2023-10-09

1)搜索镜像

以Tomcat为例子,先去官网仓库搜索https://hub.docker.com/search?q=tomcat

在这里插入图片描述
在这里插入图片描述

或者直接命令查询

docker search tomcat

在这里插入图片描述

2)拉取镜像

docker pull tomcat

在这里插入图片描述

3)查看镜像

docker images tomcat

在这里插入图片描述

4)启动镜像

docker run -it -p 8080:8080 --name t1 tomcat

-p小写,主机端口:docker容器端口

-P大写,随机分配端口
在这里插入图片描述

i 交互

t 终端

d 后台

访问首页出现问题

原因1:可能没有映射端口或者没有关闭防火墙

原因2:把webapps.dist目录换成webapps

5)停止镜像

6)移出镜像

2023-07-26

docker安装mysql8.0

1、准备工作

安装环境:Centos7、Docker 23.0.1

2、下载mysql8.0docker镜像

docker pull mysql:8.0

3、查看下载的docker镜像

docker images

在这里插入图片描述

4、创建挂载目录

mkdir -p /mydata/mysql/conf
mkdir -p /mydata/mysql/conf/mysql.conf.d
mkdir -p /mydata/mysql/conf/conf.d
mkdir -p /mydata/mysql/data
mkdir -p /mydata/mysql/logs
mkdir -p /mydata/mysql/mysql-files

5、创建my.cnf文件,放在 /mydata/mysql/conf 目录中,注意配置文件中的端口号、字符集、时区

vi /mydata/mysql/conf/my.cnf
[client]
port = 3308
default-character-set = utf8mb4[mysql]
port = 3308
default-character-set = utf8mb4[mysqld]
# bind-address = 0.0.0.0
# port = 3306max_connections=10000character-set-server = utf8mb4
collation-server = utf8mb4_unicode_ci# 设置时区和字符集
# default-time-zone='+8:00'
character-set-client-handshake=FALSE
init_connect='SET NAMES utf8mb4 COLLATE utf8mb4_unicode_ci'gtid-mode=ON
enforce-gtid-consistency = ON

6、启动镜像

docker run --restart=always  --name mysql8.0  -v /mydata/mysql/conf:/etc/mysql  -v /mydata/mysql/data:/var/lib/mysql  -v /mydata/mysql/log:/var/log -p 3308:3306 -e MYSQL_ROOT_PASSWORD='123456' -d mysql:8.0 --lower_case_table_names=1#说明
--lower_case_table_names=1 :忽略大小写 

6.1 可能出现问题

(1)docker 启动MySQL一直处于restarting状态
在这里插入图片描述

#查看docker关于mysql日志

docker logs -f mysql8.0
docker logs -f [CONTAINER ID/IMAGE]
docker logs -f [容器名称/容器ID]

在这里插入图片描述

[ERROR] [Entrypoint]: mysqld failed while attempting to check configcommand was: mysqld --verbose --help --log-bin-index=/tmp/tmp.WHijR591XAmysqld: Can't read dir of '/etc/mysql/conf.d/' (Errcode: 2 - No such file or directory)
mysqld: [ERROR] Fatal error in defaults handling. Program aborted!

原因:该日志大概意思就是说没找到 /etc/mysql/conf.d 这个文件夹。原因其实是官方的配置文件已经不放在/etc/mysql底下了,这底下就一个空文件夹conf.d。

解决方案

1.先创建一个简单的mysql容器实例

docker run -d -e MYSQL_ROOT_PASSWORD='123456' mysql:8.0

2.复制里面的/etc/mysql文件夹

docker cp mysql8.0:/etc/mysql/. /mydata/mysql/conf

3.删除掉临时容器

docker rm -f mysql8.0

4.启动完整的容器命令

docker run --restart=always  --name mysql8.0  -v /mydata/mysql/conf:/etc/mysql  -v /mydata/mysql/data:/var/lib/mysql  -v /mydata/mysql/log:/var/log -p 3308:3306 -e MYSQL_ROOT_PASSWORD='123456' -d mysql:8.0 --lower_case_table_names=1

5.问题解决

Docker安装mysql5.7

1、准备工作

安装环境:Centos7、Docker 23.0.1

2、下载mysql8.0docker镜像

docker pull mysql:5.7

3、查看下载的docker镜像

docker images

4、创建挂载目录

mkdir -p /mydata/mysql/conf
mkdir -p /mydata/mysql/data
mkdir -p /mydata/mysql/logs

5、创建my.cnf文件,放在 /mydata/mysql/conf 目录中,注意配置文件中的端口号、字符集、时区

vi /mydata/mysql/conf/my.cnf
[client]
default-character-set=utf8
[mysql]
default-character-set=utf8
[mysqld]
init_connect='SET collation_connection = utf8_unicode_ci'
init_connect='SET NAMES utf8'
character-set-seriver=utf8
collation-server=utf8_unicode_ci
skip-character-set-client-handshake
skip-name-resolve

6、启动镜像

docker run --restart=always -p 3306:3306 --name mysql5.7 \
-v /mydata/mysql/logs:/var/log/mysql \
-v /mydata/mysql/data:/var/lib/mysql \
-v /mydata/mysql/conf:/etc/mysql \
-e MYSQL_ROOT_PASSWORD='123456' \
-d mysql:5.7 --lower_case_table_names=1#说明
--lower_case_table_names=1 :忽略大小写
# --name指定容器名字 -v目录挂载 -p指定端口映射  -e设置mysql参数 -d后台运行

6.1 可能出现问题

(1)docker 启动MySQL一直处于restarting状态

解决方案同上

2023-07-27

Docker安装Redis7.0.12

1、准备工作

安装环境:Centos7、Docker 23.0.1

2、下载mysql8.0docker镜像

docker pull redis

3、查看下载的docker镜像

docker images

在这里插入图片描述

4、创建挂载目录

mkdir -p /mydata/redis/data
mkdir -p /mydata/redis/conf
touch /mydata/redis/conf/redis.conf

5、修改redis.conf文件

默认是不持久化的。在配置文件中输入appendonly yes,就可以aof持久化了。

vi /mydata/redis/conf/redis.conf# 插入下面内容
appendonly yes
# 保存docker restart redis
docker -it redis redis-cli

6、启动镜像

docker run -p 36379:6379 --restart=always --name redis \
-v /mydata/redis/data:/data \
-v /mydata/redis/conf/redis.conf:/etc/redis/redis.conf \
-d redis redis-server /etc/redis/redis.conf \
--appendonly yes --requirepass 123456

7、进入Redis容器

docker exec -it redis redis-cli

Docker安装portainer(Docker管理工具)

前言

Portainer是一个可视化的容器镜像的图形管理工具,利用Portainer可以轻松构建,管理和维护Docker环境。 而且完全免费,基于容器化的安装方式,方便高效部署

1、准备工作

安装环境:Centos7、Docker 23.0.1

2、下载镜像

#在docker仓库查找portainer的版本
docker search portainerdocker pull portainer/portainer-ce

3、查看下载的docker镜像

docker images
#查看下载的镜像版本
docker image inspect (docker image名称):latest|grep -i versiondocker image inspect portainer/portainer-ce:latest|grep -i version

在这里插入图片描述

4、创建挂载目录

mkdir -p /mydata/portainer/data

5、获取汉化包(汉化不可用)

新版本的portainer/portainer-ce还没有找到正确的汉化方法,旧版的portainer/portainer的汉化已测试失败。具体是:第一次登录直接登录页面,没有进入创建新用户页面,另外portainer/portainer已被官方弃用,推荐安装portainer/portainer-ce

在这里插入图片描述

#直接下载
#进入目录
cd /mydata/portainer
#下载
wget https://raw.githubusercontent.com/renyinping/portainer-cn/master/Portainer-CN.zip#解压文件并重命名
unzip Portainer-CN.zip -d public
unzip public.zip -d public

旧版汉化包本机无界存储路径

D:\production_software\软件安装包\Portainer-CN.zip

D:\production_software\软件安装包\public.zip

对于新版本的portainer/portainer-ce汉化无效。

6、启动镜像

#正常启动,非汉化
docker run -p 19000:9000 --name portainer \
--restart=always \
-v /var/run/docker.sock:/var/run/docker.sock \
-v /mydata/portainer/data:/data \
-d portainer/portainer-ce#正常启动汉化版本
docker run -p 9000:9000 --name portainer \
--restart=always \
-v /var/run/docker.sock:/var/run/docker.sock \
-v /mydata/portainer/data:/data \
-v /mydata/portainer/public:/public \
-d portainer/portainer-ce

7、创建新用户

账号:admin 密码:jtydl@100yingri

Docker安装Elasticsearch7.4.2

前言

1、安装环境:

服务器ip:192.168.2.28

Centos7、Docker 23.0.1

2、下载镜像

#在docker仓库查找portainer的版本
docker search portainerdocker pull elasticsearch:7.4.2

3、查看下载的docker镜像

4、创建挂载目录

mkdir -p /mydata/elasticsearch/config
mkdir -p /mydata/elasticsearch/dataecho "http.host: 0.0.0.0" >> /mydata/elasticsearch/config/elasticsearch.yml#注意加权限,不然外部无法访问
chmod -R 777 /mydata/elasticsearch/

5、启动容器

docker run --name elasticsearch --restart=always -p 9200:9200 -p 9300:9300 \
-e "discovery.type=single-node" \
-e ES_JAVA_OPTS="-Xms64m -Xmx512m" \
-v /mydata/elasticsearch/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml \
-v /mydata/elasticsearch/data:/usr/share/elasticsearch/data \
-v /mydata/elasticsearch/plugins:/usr/share/elasticsearch/plugins \
-d elasticsearch:7.4.2

访问测试

http://47.113.199.234:9200/
在这里插入图片描述

Docker安装Kibana7.4.2

前言

Elasticsearch2可视化工具,可以不安装

1、安装环境:

服务器ip:192.168.2.28

Centos7、Docker 23.0.1

2、下载镜像

docker pull kibana:7.4.2(版本要一致)

在这里插入图片描述

4、启动容器

docker run --name kibana --restart=always -e ELASTICSEARCH_HOSTS=http://(虚拟机地址):9200 -p 5601:5601 \
-d kibana:7.4.2docker run --name kibana --restart=always -e ELASTICSEARCH_HOSTS=http://192.168.2.28:9200 -p 5601:5601 \
-d kibana:7.4.2

访问测试

http://47.113.199.234:9200/

Docker安装Nginx1.10

1、安装环境:

服务器ip:192.168.2.28

Centos7、Docker 23.0.1

2、下载镜像

#在docker仓库查找nginx的版本
docker search nginxdocker pull nginx:1.10

3、查看下载的docker镜像

4、创建挂载目录

mkdir -p /mydata/nginx/conf
mkdir -p /mydata/nginx/html
mkdir -p /mydata/nginx/logs

5、启动容器

docker run -p 80:80 --name nginx --restart=always \
-v /mydata/nginx/html:/usr/share/nginx/html \
-v /mydata/nginx/logs:/var/log/nginx \
-v /mydata/nginx/conf:/etc/nginx \
-d nginx:1.10

访问测试

在nginx的html文件夹下新建es文件夹,创建fenci.txt来放自定义的分词

mkdir -p /mydata/nginx/html/es
cd /mydata/nginx/html/es
vi fenci.txt#写入
乔碧萝
尚硅谷

访问地址http://192.168.2.28/es/fenci.txt验证该文件是否创建成功
在这里插入图片描述

为ik分词器配置自定义的分词匹配文件

来到ik的config目录下,打开IKAnalyzer.cfg.xml
在文件中修改配置为nginx中的地址

cd /mydata/elasticsearch/plugins/ik/config
vi IKAnalyzer.cfg.xml

在这里插入图片描述

需要重启Elasticsearch

docker restart elasticsearch

测试ik分词器配置自定义的分词匹配文件是否生效
在这里插入图片描述

Docker安装RabbitMQ3.12.2

1、安装环境:

服务器ip:192.168.2.28

Centos7、Docker 23.0.1

2、下载镜像

#在docker仓库查找nginx的版本
docker search rabbitmqdocker pull rabbitmq

启动容器

docker run -it --name=rabbitmq --restart=always -e RABBITMQ_DEFAULT_USER=admin -e RABBITMQ_DEFAULT_PASS=123456 -p 15672:15672 -p 5672:5672 rabbitmq

3、开放rabbitmq的端口

//开放15672端口firewall-cmd --zone=public --add-port=15672/tcp --permanent //开放5672端口
firewall-cmd --zone=public --add-port=5672/tcp --permanent //设置立即生效
firewall-cmd --reload //查看开放的端口
firewall-cmd --zone=public --list-ports

在这里插入图片描述

4、启动管理插件

#进入容器,启动插件
[root@localhost ~]# docker exec -it rabbitmq bashroot@0d026c19297b:/# rabbitmq-plugins enable rabbitmq_management

在这里插入图片描述

#执行下列命令修改management_agent.disable_metrics_collector.conf文件root@0d026c19297b:/etc/rabbitmq/conf.d# echo management_agent.disable_metrics_collector=false > management_agent.disable_metrics_collector.cof

访问测试

127.0.0.1:15672

admin 123456

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

CamoDroid 与 Frida Android动态分析工具搭建流程(linux)

CamoDroid 与 Frida Android动态分析工具搭建流程(linux) 写在前面 这个东西配置起来比较复杂,其实最主要就是配置frida,如果你之前就使用过frida框架的话问题就不是很大 介绍camodroid CamoDroid 是一个开源和开放架构的 And…

力扣第 365 场周赛虚拟参赛

有序三元组中的最大值 I class Solution { public:long long maximumTripletValue(vector<int>& nums) {vector<long long> num;for (auto &item:nums) {num.push_back(item*1ll);}long long z 0,f 1000000;long long ans 0;long long maxx num[0],mi…

基于指数趋近律的机器人滑模轨迹跟踪控制算法及MATLAB仿真

机械手是工业制造领域中应用最广泛的自动化机械设备&#xff0c;广泛应用于工业制造、医疗、军工、半导体制造、太空探索等领域。它们虽然形式不同&#xff0c;但都有一个共同的特点&#xff0c;即能够接受指令&#xff0c;并能准确定位到三维(或二维)空间的某一点进行工作。由…

NoSQL之Redis 主从复制配置详解及哨兵模式

目录 1 Redis 主从复制 1.1 主从复制的作用 1.2 主从复制流程 2 搭建Redis 主从复制 2.1 安装 Redis 2.2 修改 Redis 配置文件&#xff08;Master节点操作&#xff09; 2.3 修改 Redis 配置文件&#xff08;Slave节点操作&#xff09; 2.4 验证主从效果 3 Redis 哨兵模…

PHP 伪协议:使用 php://filter 为数据流应用过滤器

文章目录 参考环境PHP 伪协议概念为什么需要 PHP 伪协议&#xff1f; php://filter概念格式 基本使用普通读写file_get_contents 与 file_put_contentsinclude 过滤器的基本使用base64 的编码与解码rot13 加解密rot13 算法string.rot13 过滤器列表多个过滤器的使用注意事项 处理…

TensorFlow案例学习:对服装图像进行分类

前言 官方为我们提供了一个 对服装图像进行分类 的案例&#xff0c;方便我们快速学习 学习 预处理数据 案例中有下面这段代码 # 预处理数据&#xff0c;检查训练集中的第一个图像可以看到像素值处于0~255之间 plt.figure() # 创建图像窗口 plt.imshow(train_images[0]) # …

【RabbitMQ】初识消息队列 MQ,基于 Docker 部署 RabbitMQ,探索 RabbitMQ 基本使用,了解常见的消息类型

文章目录 前言一、初识消息队列 MQ1.1 同步通信1.2 异步通信1.3 MQ 常见框架及其对比 二、初识 RabbitMQ2.1 什么是 RabbitMQ2.2 RabbitMQ 的结构 三、基于 Docker 部署 RabbitMQ四、常见的消息类型五、示例&#xff1a;在 Java 代码中通过 RabbitMQ 发送消息5.1 消息发布者5.2…

软件测试「转行」答疑(未完更新中)

⭐ 专栏简介 软件测试行业「转行」答疑&#xff1a; 如果你对于互联网的职业了解一知半解&#xff01;不知道行业的前景如何&#xff1f;对于众说纷纭的引流博主说法不知所措&#xff01;不确定这个行业到底适不适合自己&#xff1f; 那么这一篇文章可以告诉你所有真实答案&a…

【网络安全】关于CTF那些事儿你都知道吗?

关于CTF那些事儿你都知道吗&#xff1f; 前言CTF那些事儿内容简介读者对象专家推荐 本文福利 前言 CTF比赛是快速提升网络安全实战技能的重要途径&#xff0c;已成为各个行业选拔网络安全人才的通用方法。但是&#xff0c;本书作者在从事CTF培训的过程中&#xff0c;发现存在几…

<el-input> textarea文本域显示滚动条(超过高度就自动显示)+ <el-input >不能正常输入,输入了也不能删除的问题

需求&#xff1a;首先是给定高度&#xff0c;输入文本框要自适应这个高度。文本超出高度就会显示滚动条否则不显示。 <el-row class"textarea-row"><el-col :span"3" class"first-row-title">天气</el-col><el-col :span&…

Selenium进行无界面爬虫开发

在网络爬虫开发中&#xff0c;利用Selenium进行无界面浏览器自动化是一种常见且强大的技术。无界面浏览器可以模拟真实用户的行为&#xff0c;解决动态加载页面和JavaScript渲染的问题&#xff0c;给爬虫带来了更大的便利。本文将为您介绍如何利用Selenium进行无界面浏览器自动…

如何绘制Top级美图?20+案例分享

如何绘制Top级美图&#xff1f;20案例分享 #R语言绘图128个 #图表美化47个 工欲善其事&#xff0c;必先利其器&#xff01; R语言绘图爱好者赶紧看过来&#xff01;画图时选择称手的R包&#xff0c;是高效绘制美图的First Step&#xff01;今天分享一波科研美图绘制所需R包…

TensorFlow入门(九、张量及操作函数介绍)

在TensorFlow程序中,所有的数据都由tensor数据结构来代表。即使在计算图中,操作间传递的数据也是Tensor tensor在TensorFlow中并不是直接采用数组的形式,它只是对TensorFlow中计算结果的引用。也就是说在张量中并没有真正保存数字,它保存的是如何得到这些数字的计算过程 一个…

WebSocket ----苍穹外卖day8

介绍 实现步骤 各个模块详解 OnOpen OnOpen:标记一个方法作为处理WebSocket连接打开的方法 当一个客户端与服务器建立 WebSocket 连接时&#xff0c;服务器会接收到一个连接请求。一旦服务器接受了这个连接请求&#xff0c;一个 WebSocket 连接就会被建立。这时&#xff0c;被…

Git仓库迁移记录

背景&#xff1a;gitlab私服上面&#xff0c;使用 import project的方式&#xff0c;从旧项目迁移到新地址仓库&#xff0c;但是代码一直没拉过去。所以使用命令的方式&#xff0c;进行代码迁移。 第一步&#xff1a;使用git clone --mirror git地址&#xff0c;进行代码克隆 …

如何让 Llama2、通义千问开源大语言模型快速跑在函数计算上?

作者&#xff1a;寒斜 阿里云智能技术专家 「本文是“在 Serverless 平台上构建 AIGC 应用”系列文章的第一篇文章。」 前言 随着 ChatGPT 以及 Stable Diffusion&#xff0c;Midjourney 这些新生代 AIGC 应用的兴起&#xff0c;围绕 AIGC 应用的相关开发变得越来越广泛&…

【一周安全资讯1007】多项信息安全国家标准10月1日起实施;GitLab发布紧急安全补丁修复高危漏洞

要闻速览 1.以下信息安全国家标准10月1日起实施 2.GitLab发布紧急安全补丁修复高危漏洞 3.主流显卡全中招&#xff01;GPU.zip侧信道攻击可泄漏敏感数据 4.MOVEit漏洞导致美国900所院校学生信息发生大规模泄露 5.法国太空和国防供应商Exail遭黑客攻击&#xff0c;泄露大量敏感…

三模块七电平级联H桥整流器电压平衡控制策略Simulink仿真

&#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️&#x1f4a5;&#x1f4a5; &#x1f3c6;博主优势&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客内容尽量做到思维缜密&#xff0c;逻辑清晰&#xff0c;为了方便读者。 ⛳️座右铭&a…

竞赛选题 深度学习 YOLO 实现车牌识别算法

文章目录 0 前言1 课题介绍2 算法简介2.1网络架构 3 数据准备4 模型训练5 实现效果5.1 图片识别效果5.2视频识别效果 6 部分关键代码7 最后 0 前言 &#x1f525; 优质竞赛项目系列&#xff0c;今天要分享的是 &#x1f6a9; 基于yolov5的深度学习车牌识别系统实现 该项目较…