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


    docker安装常用软件步骤

    1)搜索镜像

    2)拉取镜像

    3)查看镜像

    4)启动镜像

    5)停止镜像

    6)移出镜像

    2023-07-26

    docker安装mysql8.0

    1、准备工作

    安装环境:Centos7、Docker 23.0.1

    2、下载mysql8.0docker镜像

    docker pull mysql:8.0
    
    • 1

    3、查看下载的docker镜像

    docker images
    
    • 1

    在这里插入图片描述

    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
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

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

    vi /mydata/mysql/conf/my.cnf
    
    • 1
    [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
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24

    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 :忽略大小写 
    
    • 1
    • 2
    • 3
    • 4

    6.1 可能出现问题

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

    #查看docker关于mysql日志

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

    在这里插入图片描述

    [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!
    
    • 1
    • 2
    • 3
    • 4

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

    解决方案

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

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

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

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

    3.删除掉临时容器

    docker rm -f mysql8.0
    
    • 1

    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
    
    • 1

    5.问题解决

    Docker安装mysql5.7

    1、准备工作

    安装环境:Centos7、Docker 23.0.1

    2、下载mysql8.0docker镜像

    docker pull mysql:5.7
    
    • 1

    3、查看下载的docker镜像

    docker images
    
    • 1

    4、创建挂载目录

    mkdir -p /mydata/mysql/conf
    mkdir -p /mydata/mysql/data
    mkdir -p /mydata/mysql/logs
    
    • 1
    • 2
    • 3

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

    vi /mydata/mysql/conf/my.cnf
    
    • 1
    [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
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11

    以下配置无法直接运行mysql8导出SQL文件,原因是SQL中utf8mb4_0900_ai_ci,导致无法识别
    在这里插入图片描述

    [client]
    default-character-set=utf8
    [mysql]
    default-character-set=utf8
    [mysqld]
    init_connect='SET collation_connection = utf8_general_ci'
    init_connect='SET NAMES utf8'
    character-set-seriver=utf8
    collation-server=utf8_unicode_ci
    skip-character-set-client-handshake
    skip-name-resolve
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11

    6、启动镜像

    docker run --restart=always -p 3306:3306 --privileged=true --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='root' \
    -d mysql:5.7 --lower_case_table_names=1
    
    #说明
    --lower_case_table_names=1 :忽略大小写
    # --name指定容器名字 -v目录挂载 -p指定端口映射  -e设置mysql参数 -d后台运行
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

    查看mysql5.7的编码格式

    show variables like 'character%';
    
    • 1

    在这里插入图片描述

    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
    
    • 1

    3、查看下载的docker镜像

    docker images
    
    • 1

    在这里插入图片描述

    4、创建挂载目录

    mkdir -p /mydata/redis/data
    mkdir -p /mydata/redis/conf
    touch /mydata/redis/conf/redis.conf
    
    • 1
    • 2
    • 3

    5、修改redis.conf文件

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

    vi /mydata/redis/conf/redis.conf
    
    # 插入下面内容
    appendonly yes
    # 保存
     
    docker restart redis
    docker -it redis redis-cli
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    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
    
    • 1
    • 2
    • 3
    • 4
    • 5

    7、进入Redis容器

    docker exec -it redis redis-cli
    
    • 1

    Docker安装portainer(Docker管理工具)

    前言

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

    1、准备工作

    安装环境:Centos7、Docker 23.0.1

    2、下载镜像

    #在docker仓库查找portainer的版本
    docker search portainer
    
    docker pull portainer/portainer-ce
    
    • 1
    • 2
    • 3
    • 4

    3、查看下载的docker镜像

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

    在这里插入图片描述

    4、创建挂载目录

    mkdir -p /mydata/portainer/data
    
    • 1

    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
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

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

    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
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14

    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
    
    • 1
    • 2
    • 3
    • 4

    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/
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    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
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    访问测试

    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(版本要一致)
    
    • 1

    在这里插入图片描述

    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
    
    • 1
    • 2
    • 3
    • 4
    • 5

    访问测试

    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
    
    • 1
    • 2
    • 3
    • 4

    3、查看下载的docker镜像

    4、创建挂载目录

    mkdir -p /mydata/nginx/conf
    mkdir -p /mydata/nginx/html
    mkdir -p /mydata/nginx/logs
    
    • 1
    • 2
    • 3

    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
    
    • 1
    • 2
    • 3
    • 4
    • 5

    访问测试

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

    mkdir -p /mydata/nginx/html/es
    cd /mydata/nginx/html/es
    vi fenci.txt
    
    #写入
    乔碧萝
    尚硅谷
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    访问地址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
    
    • 1
    • 2

    在这里插入图片描述

    需要重启Elasticsearch

    docker restart elasticsearch
    
    • 1

    测试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
    
    • 1
    • 2
    • 3
    • 4

    启动容器

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

    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
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11

    在这里插入图片描述

    4、启动管理插件

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

    在这里插入图片描述

    #执行下列命令修改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
    
    • 1
    • 2
    • 3

    访问测试

    127.0.0.1:15672

    admin 123456

    docker安装Tomcat:10.0.14

    2023-10-09

    1)搜索镜像

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

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

    或者直接命令查询

    docker search tomcat
    
    • 1

    在这里插入图片描述

    2)拉取镜像

    docker pull tomcat
    
    • 1

    在这里插入图片描述

    3)查看镜像

    docker images tomcat
    
    • 1

    在这里插入图片描述

    4)启动镜像

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

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

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

    i 交互

    t 终端

    d 后台

    访问首页出现问题

    在这里插入图片描述

    原因1:可能没有映射端口或者没有关闭防火墙(已排除)

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

    1)先进入Tomcat容器
    docker exec -it t1 /bin/bash
    
    2)进入/usr/local/tomcat目录,进入容器默认就是这个目录了
    
    3)先删除webapps文件,再把webapps.dist目录换成webapps
    rm -r webapps
    mv webapps.dist webapps
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    修改完成后不需要重启Tomcat,刷新浏览器即可看到猫。
    在这里插入图片描述

    docker安装Tomcat8-jdk8

    docker run -d -p 8090:8080 --name mytomcat8 billygoo/tomcat8-jdk8
    
    
    • 1
    • 2

    在这里插入图片描述

  • 相关阅读:
    Log4j2
    Oracle RAC ASM磁盘组删除、添加磁盘
    Java switch case语句详解
    机器视觉_工业相机及相关配件选型
    算法通过村第十八关-回溯|青铜笔记|什么叫回溯(中篇)
    SolidUI社区-Huggingface Spaces
    cloudstack中SecondaryStorageManagerImpl
    go设计模式——适配器模式 2
    重生奇迹MU游戏开店技巧
    企业电子招投标系统源码之电子招投标系统建设的重点和未来趋势
  • 原文地址:https://blog.csdn.net/qq_51522539/article/details/133705835