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.hqwc.cn/news/129545.html

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

相关文章

【git】git命令行

首先要了解git整个流程的一个分类: workspace:工作区staging area:暂存区/缓存区local repository:版本库或本地仓库remote repository:远程仓库 创建仓库 git clone gitgithub.comxxxxxxxxxxxx//拷贝一份远程仓库 …

qt 5.15.2 安卓 macos

macos环境安卓配置 我的系统是monterey12.5.1 打开qt的配置界面 这里版本是java1.8,注意修改这个json文件,显示包内容 {"common": {"sdk_tools_url": {"linux": "https://dl.google.com/android/repository/comm…

使用vite+npm封装组件库并发布到npm仓库

组件库背景:使用elementplusvue封装了一个通过表单组件。通过JSX对el-form下的el-input和el-button等表单进行统一封装,最后达到,通过数据即可一键生成页面表单的功能。 1.使用vite创建vue项目 npm create vitelatest elementplus-auto-form…

React核心原理与实际开发

学习目标 React是啥? 官方定义:将前端请求获取到的数据渲染为HTML视图的JavaScript库。 一、React入门 1、React项目创建 直接创建react,使用初始化会创建package.json npm init -y再安装 2、React基本使用 使用纯JS创建ReactDOM&#…

[PowerQuery] PowerAutoMate 刷新PowerBI 数据

通过PowerBI Automate 进行PowerBI 数据刷新之前,需要有Power Automate 授权或者Power Automate 试用账户,可以通过如下的地址进行申请注册。 https://flow.microsoft.com/zh-cn/ 完成Power Automate 登录之后,选中计划的云端流后创建,图为创建计划的云端流的操作步骤。 …

JVM CMS和G1执行过程比较

CMS CMS(Concurrent Mark Sweep)收集器是一种以获取最短回收停顿时间为目标的收集器。由于大部分 Java 应用主要集中在互联网网站以及基于浏览器的 B/S 系统的服务端,这类应用通常会较为关注服务的响应速度,希望系统的停顿时间尽…

JS进阶-原型

原型 原型就是一个对象,也称为原型对象 构造函数通过原型分配的函数是所有对象所共享的 JavaScript规定,每一个构造函数都有一个prototype属性,指向另一个对象,所以我们也称为原型对象 这个对象可以挂载函数,对象实…

10-Node.js入门

01.什么是 Node.js 目标 什么是 Node.js,有什么用,为何能独立执行 JS 代码,演示安装和执行 JS 文件内代码 讲解 Node.js 是一个独立的 JavaScript 运行环境,能独立执行 JS 代码,因为这个特点,它可以用来…

基于SpringBoot的精准扶贫管理系统

目录 前言 一、技术栈 二、系统功能介绍 用户信息管理 贫困户信息管理 新闻类型管理 志愿者招聘管理 志愿者招聘 留言反馈管理 贫困户 三、核心代码 1、登录模块 2、文件上传模块 3、代码封装 前言 随着信息技术在管理上越来越深入而广泛的应用,管理信息…

c#设计模式-行为型模式 之 状态模式

🚀简介 状态模式是一种行为设计模式,它允许对象在其内部状态改变时改变其行为,我们可以通过创建一个状态接口和一些实现了该接口的状态类来实现状态模式。然后,我们可以创建一个上下文类,它会根据其当前的状态对象来改…

CSS3实现动画加载效果

<!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8" /><meta name"viewport" content"widthdevice-width, initial-scale1.0" /><title>加载效果</title><link rel"style…

【Linux 安装Kibana 及 Es 分词器安装】

一、客户端Kibana安装 Kibana是一个开源分析和可视化平台&#xff0c;旨在与Elasticsearch协同工作。参考文档 1. 下载并解压缩Kibana 下载路径 选择的版本是和 ElasticSearch 对应&#xff08;7.17.3&#xff09; 下载后上传到Linux 系统中&#xff0c;并放在 /root/ 下&a…