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 = 3306
max_connections=10000
character-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 config
command was: mysqld --verbose --help --log-bin-index=/tmp/tmp.WHijR591XA
mysqld: 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 portainer
docker pull portainer/portainer-ce
3、查看下载的docker镜像
docker images
#查看下载的镜像版本
docker image inspect (docker image名称):latest|grep -i version
docker 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 portainer
docker pull elasticsearch:7.4.2
3、查看下载的docker镜像
4、创建挂载目录
mkdir -p /mydata/elasticsearch/config
mkdir -p /mydata/elasticsearch/data
echo "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.2
docker 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 nginx
docker 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 rabbitmq
docker 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 bash
root@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