目录

  • docker安装常用软件
    • 1.安装软件说明
    • 1.安装tomcat
    • 2.安装mysql
      • 2.1简单版
      • 2.2实战版本
    • 3.安装redis

docker安装常用软件

1.安装软件说明

框架图

总体步骤:

  1. 搜索镜像
  2. 拉去镜像
  3. 查看镜像
  4. 启动镜像 - 服务端口映射
  5. 停止容器
  6. 移除容器

1.安装tomcat

  1. docker hub上查找tomcat镜像

  2. 从docker hub上拉取tomcat镜像到本地

  3. docker images查看是否有拉取到的tomcat

  4. 使用tomcat镜像创建容器实例(也叫运行镜像)

    命令: docker run -it -p 8080:8080 --name t1 tomcat
    -p小写,主机端口:docker容器端口
    -P大写,随机分配端口
    i:交互
    t:终端
    d:后台

    大写P的例子
    docker run it -P tomcat

  5. 访问tomcat首页
    问题:

    解决:Ⅰ.可能没有映射端口或者关闭防火墙Ⅱ.把webapps.list目录换成webapps

    1. 删除webapps,并将webapps.dict改成webapps
    2. 查看当前目录
    3. 再次访问首页
  6. 免修改本说明

    命令: docker pull billygoo/tomcat8-jdk8
    docker run -d -p 8080:8080 --name mytomcat8 billygoo/tomcat8-jdk8

2.安装mysql

  1. docker hub上面查找mysql镜像

  2. 从docker hub上(阿里云加速器)拉取mysql镜像到本地标签为5.7

    容器命令出处

2.1简单版

  1. 使用mysql镜像

    命令: docker run -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7

    问题:可能在使用docker之前,linux已经安装mysql,那此时3306端口就已经被占用了
    解决:在使用启动docker命令前用命令 ps -ef|grep mysql 观察3306端口是否被占用


    观察是否启动成功

    1. 建库建表插入数据

    2. 外部Win11连接运行在docker上的mysql容器实例服务

    3. 问题

      问题1:插入中文数据会报错,为什么会报错?docker上默认字符集没有修正

      解决办法: docker里面的mysql容器查看,内容如下
      命令: SHOW VARIABLES LIKE 'character%';

      不要在连接工具里面看,工具会将有些字段自动转换成utf8的格式
      在mysql中直接执行该语句会发现全是latin格式

      问题2:删除容器后,mysql里面的数据怎么办?
      解决办法:实战版本

2.2实战版本

  1. 新建mysql容器实例

    命令如下: docker run -d -p 3306:3306 --privileged=true -v /asule/mysql/log:/var/log/mysql -v /asule/mysql/data:/var/lib/mysql -v /asule/mysql/conf:/etc/mysql/conf.d -e MYSQL_ROOT_PASSWORD=123456 --name mysql mysql:5.7

    //不要粘贴这个只是为了看起来整洁,linux中回车会导致执行
    docker run -d -p 3306:3306 --privileged=true
    -v /asule/mysql/log:/var/log/mysql
    -v /asule/mysql/data:/var/lib/mysql
    -v /asule/mysql/conf:/etc/mysql/conf.d
    -e MYSQL_ROOT_PASSWORD=123456 --name mysql mysql:5.7
    
  2. 新建my.cnf

    通过容器卷同步给mysql容器实例

    在上述配置的conf文件夹下创建my.cnf并配置如下内容

    [client]
    default-character-set=utf8
    [mysqld]
    collation-server=utf8_general_ci
    character-set-server=utf8
    

  3. 重新启动mysql容器实例再重新进入并查看字符编码
    重启mysql服务

    查看字符编码

  4. 再新建库新建表再插入中文测试
    从mysql看

    从连接工具看(发现中文乱码已经解决)

  5. 总结

  • 之前的DB是无效的
  • 修改字符集操作和重启mysql实例之后的DB有效,需要新建
  • docker安装完Mysql并run出容器后,建议修改完字符集编码后再新建mysql库-表-插入数据
  1. 假如将当前容器实例删除,再重新来一次,之前建的db01实例还有吗?
  • 假如有人把该容器实例删除了
  • 再启动mysql,发现db01还是存在的
  • 结论:容器卷是一定要挂载的,就算把容器实例删除了,只要保存在对应的宿主机上,重新启动容器后依旧能把数据拿回来,才能保证数据的不丢失

3.安装redis

  1. 从docker hub上(阿里云加速器)拉取redis镜像到本地标签为6.0.8

    命令: docker run -d -p 6379:6379 redis:6.0.8

  2. 入门命令

  3. 命令挺行:容器卷记得假如–privileged=true

  4. 在CentOS宿主机下新建目录/app/redis

    命令: mkdir -p /app/redis

  5. 将一个redis.conf文件模板拷贝到/app/redis目录下

  6. /app/redis目录下修改redis.conf文件

    • 开启redis验证 (可选)

    • 允许redis外地连接,必须注释掉# bind 127.0.0.1

    • 将daemonizeyes注释起来或者设置成daemonizeno,因为该配置和docker run 中-d参数冲突会导致容器一直启动失败

      如果daemonizeyes,即linux下的redis会在后台运行,此时redis将一直运行,除非手动kill该进程,所以会和docker中的redis启动的端口产生冲突

    • 开启redis数据持久化appendonly yes(可选)

  7. 使用redis6.0.8镜像创建容器(也叫运行镜像)

    这里用6.0.8一直启动不了换成默认版本就能启动了

    docker run -d -p 6379:6379 --privileged=true -v /app/redis/redis.conf:/etc/redis/redis.conf -v /app/redis/data:/data --name myredis redis:latest redis-server /etc/redis/redis.conf

    //不要粘贴这个只是为了看起来整洁,linux中回车会导致执行
    docker run -d -p 6379:6379 --privileged=true
    -v /app/redis/redis.conf:/etc/redis/redis.conf
    -v /app/redis/data:/data
    --name myredis redis:6.0.8
    redis-server /etc/redis/redis.conf
    

    启动成功

  8. 测试redis-cli连接

  9. 请证明docker启动使用了我们自己指定的配置文件

    • 默认的配置文件的redis库是16个

    • 修改我们指定配置文件redis库的个数

    • 修改之前可以访问0~15的库

    • 访问redis15的库,发现访问不了则是自己的配置文件启动的redis

【docker11】docker安装常用软件相关推荐

  1. 四、docker系列之docker安装常用软件

    docker安装常用软件 目录 docker安装常用软件 docker安装运行redis 一.DockerHup redis仓库 二.镜像拉取 三.镜像启动 四.参数解析 docker安装运行mysq ...

  2. Docker安装常用软件-Mysql

    一.生成镜像 方法一:通过Dockerfile 1.新建目录 mysql  D:\docker\docker应用池\mysql mysql目录下创建三个目录 /home/mysql /logs /co ...

  3. Docker安装常用软件/JAVA/大数据

    Docker安装常用软件 文章目录 Docker安装常用软件 一.Docker安装 1. Windows安装Docker Desktop 2. Centos安装Docker 二.大数据组件安装 1. ...

  4. Docker 安装常用软件(超全、超实用)

    容器化概念越来越普及,很多公司都在往这个方向发展,也有不少公司在招聘要求上提到这点.Docker就是一个出色的.开源的应用容器引擎.只需要一条命令就可安装一个软件环境,非常方便. 安装Docker 以 ...

  5. 使用docker安装常用软件

    大家好,我是音乐家. 在docker的自行摸索中,确实踩过很多坑,耽误过很多时间.接下来我会一一讲解常用软件的下载.亲测有效! 目录 1.安装mysql 2.安装mongodb 3.安装rabbitm ...

  6. Docker安装常用软件

    一.基本要用到的几个命令 其实记住下面这两个就行了 docker --help:列出所有命令及其说明 docker COMMAND --help:单个命令的用法 其中安装软件需要用到的 search: ...

  7. Docker 安装一些软件命令

    Docker 安装一些软件命令 一.Docker的安装 1. Ubuntu系 2. Centos系 二.Docker可视化控制面板--Portainer汉化版 三.Docker运行Mysql 四.Do ...

  8. (七) Docker安装常规软件

    Docker安装常规软件 一.安装tomcat 1.docker hub上面查找tomcat镜像 2.从docker hub上拉取tomcat镜像到本地 3.docker images查看是否有拉取到 ...

  9. ubuntu 美化日常配置和安装常用软件保姆级教程

    目录 ubuntu 美化配置,日常配置,安装常用软件 前期准备 开机黑屏修复 更改用户名 软件包概念 卸载脚本 安装中文输入法 美化 安装必要软件 安装常用软件 微信 Docker 微信安装教程 QQ ...

最新文章

  1. mysql占用资源最小的语句_MySQL一个语句查出各种整形占用字节数及最大最小值的实例...
  2. gin获取post参数
  3. 使用SSH反向隧道进行内网穿透
  4. c语言字符串初值问题!
  5. JS----javascript原型和原型链
  6. 用国产CH32替代STM32,快来试试看!
  7. git提取和拉取的区别_git fetch和git pull的区别
  8. 万维网发布服务 w3svc 已停止 除非万维_万维网和互联网的区别
  9. jq之animate()操作多个属性
  10. 计算机gt的使用方法,旗舰级综合效果器 BOSS GT-1000使用宝典(二) | 基础操作
  11. 【ssh登陆问题】no matching cipher found / no matching key exchange method found
  12. 30号晚直播丨数据操作加速器,CloudQuery v1.3.5 发布!
  13. 批处理查找html,批处理(bat)实现全盘搜索指定文件获取其完整路径方法大全,bat大全分享...
  14. matlab 生命游戏
  15. 计算机无法启动怎么重装系统,韩博士教你如何为系统崩溃无法开机的电脑重装系统...
  16. Matlab 官网培训 - 大型项目-风力发电机数据模型构建-Catching the Wind
  17. matlab 求留数,基于MATLAB的留数计算方法的探讨
  18. day 26 学习Linux-01天
  19. Java 下数据业务逻辑开发技术 JOOQ 和 SPL
  20. Lonlife-ACM Round #7

热门文章

  1. Li Hua and Pattern
  2. 2021-2025年中国便携式键盘行业市场供需与战略研究报告
  3. 【STM32F10x串口通信控制LED输出模式以及亮灭】
  4. #6398. 「THUPC2018」生生不息 / Lives
  5. JVM-13-Class文件结构
  6. 微信小程序跳转方式总结
  7. V8和JavaScriptCore在Android Froyo上的速度比较
  8. 程序员五六年能存100万,你说你焦虑个啥!!!
  9. 安装Red Giant Maxon App时提示错误11025:无法连接到Red Giant服务
  10. iPhone培训应用游戏开发班(全天班)