linux安装docker

1.安装gcc相关

  1. yum install gcc -y
  2. yum install gcc-c++ -y

2.安装工具包

  1. #安装工具包
  2. yum -y install yum-utils
  3. #配置阿里云镜像下载地址
  4. yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

3.重建一下yum安装的索引

  1. yum makecache fast

4.安装docker的引擎

  1. yum -y install docker-ce docker-ce-cli containerd.io

5.启动docker

  1. systemctl start docker

6.查看docker是否启动

  1. ps -ef | grep docker

7.测试

  1. docker version

8运行hello world

  1. docker run hello-world

9.卸载

  1. #停止docker
  2. systemctl stop docker
  3. #移除镜像地址
  4. yum remove docker-ce docker-ce-cli containerd.io
  5. #删除docker依赖文件
  6. rm -rf /var/lib/docker
  7. #删除docker容器
  8. rm -rf /var/lib/containerd

docker安装常用软件

tomcat

安装jdk

  1. yum -y list java*
  2. yum -y install java-1.8.0-openjdk*
  3. (安装完之后,默认的安装目录是在: /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.151-1.b12.el7_4.x86_64)

使用tomcat

  1. docker run --name=mytomcat -d -p 8080:8080 tomcat:8.0.35

mysql

普通使用mysql

  1. #拉镜像
  2. docker pull mysql:5.7
  3. #执行
  4. docker run -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7

企业使用mysql

  1. #创建文件夹 zzyyuse
  2. cd /
  3. mkdir zzyyuse
  4. #执行 挂容器卷 好处,数据不会丢失
  5. docker run -d -p 3306:3306 --privileged=true -v /zzyyuse/mysql/log:/var/log/mysql -v /zzyyuse/mysql/data:/var/lib/mysql -v /zzyyuse/mysql/conf:/etc/mysql/conf.d -e MYSQL_ROOT_PASSWORD=123456 --name mysql mysql:5.7
  6. #修改编码->创建my.conf文件
  7. cd /zzyyuse/mysql/conf
  8. vim my.cnf
  9. [client]
  10. default_character_set=utf8
  11. [mysqld]
  12. collation_server = utf8_general_ci
  13. character_set_server = utf8
  14. 重启mysql
  15. docker restart 容器id
  16. 进入容器
  17. docker exec -it 12c428025622 /bin/bash
  18. 登录mysql
  19. mysql -uroot -p123456
  20. 查看mysql编码
  21. show variables like 'character%';

redis

1.创建redis容器卷放置的文件夹

  1. mkdir -p /app/redis

2.将一个redis.conf文件模板拷贝进/app/redis目录

3.修改redis.conf

  1. #一 可选
  2. requirepass 123
  3. #二 允许外地连接
  4. bind 0.0.0.0
  5. #其三 与docker run -d 参数冲突导致Redis一直启动
  6. daemonize no
  7. #受保护的 no
  8. protected-mode no

4.开始redis

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

5.修改redis.conf测试配置文件是否生效

6.重启

  1. docker restart 容器id

docker配置mysql主从复制集群

1.新建一个主机

  1. #运行一个docker容器
  2. docker run -d -p 3307:3306 --privileged=true -v /master/mysql/log:/var/log/mysql -v /master/mysql/data:/var/lib/mysql -v /master/mysql/conf:/etc/mysql/conf.d -e MYSQL_ROOT_PASSWORD=123456 --name=mysqlmaster mysql:5.7
  3. #修改编码->创建my.conf文件
  4. cd /master/mysql/conf
  5. vi my.cnf
  6. [client]
  7. default_character_set=utf8
  8. [mysqld]
  9. collation_server = utf8_general_ci
  10. character_set_server = utf8
  11. ## 设置server_id,同一局域网中需要唯一
  12. server_id=101
  13. ## 指定不需要同步的数据库名称
  14. binlog-ignore-db=mysql
  15. ## 开启二进制日志功能
  16. log-bin=mall-mysql-bin
  17. ## 设置二进制日志使用内存大小(事务)
  18. binlog_cache_size=1M
  19. ## 设置使用的二进制日志格式(mixed,statement,row)
  20. binlog_format=mixed
  21. ## 二进制日志过期清理时间,默认值为0,表示不自动清理
  22. expire_logs_days=7
  23. ## 跳过主从复制中遇到的所有错误或指定类型的错误,避免slave端复制中断。
  24. ##如:1062错误是指一些主键重复,1032错误是因为主从数据库数据不一致
  25. slave_skip_errors=1062
  26. 重启mysql
  27. docker restart 容器id

登录master

  1. docker exec -it 容器id /bin/bash
  2. mysql -uroot -p123456

创建同步用户

  1. CREATE USER 'slave'@'%' IDENTIFIED BY '123456';
  2. GRANT REPLICATION SLAVE,REPLICATION CLIENT ON *.* TO 'slave'@'%';

2.新建一个从服务器

  1. #运行一个docker容器
  2. docker run -d -p 3308:3306 --privileged=true -v /slave/mysql/log:/var/log/mysql -v /slave/mysql/data:/var/lib/mysql -v /slave/mysql/conf:/etc/mysql/conf.d -e MYSQL_ROOT_PASSWORD=123456 --name=mysqlslave mysql:5.7
  3. #修改编码->创建my.conf文件
  4. cd /slave/mysql/conf
  5. vi my.cnf
  6. [client]
  7. default_character_set=utf8
  8. [mysqld]
  9. collation_server = utf8_general_ci
  10. character_set_server = utf8
  11. ## 设置server_id,同一局域网中需要唯一
  12. server_id=102
  13. ## 指定不需要同步的数据库名称
  14. binlog-ignore-db=mysql
  15. ## 开启二进制日志功能
  16. log-bin=mall-mysql-slave1-bin
  17. ## 设置二进制日志使用内存大小(事务)
  18. binlog_cache_size=1M
  19. ## 设置使用的二进制日志格式(mixed,statement,row)
  20. binlog_format=mixed
  21. ## 二进制日志过期清理时间,默认值为0,表示不自动清理
  22. expire_logs_days=7
  23. ## 跳过主从复制中遇到的所有错误或指定类型的错误,避免slave端复制中断。
  24. ##如:1062错误是指一些主键重复,1032错误是因为主从数据库数据不一致
  25. slave_skip_errors=1062
  26. ## relay_log配置中继日志
  27. relay_log=mall-mysql-relay-bin
  28. ## log_slave_updates表示slave将复制事件写进自己的二进制日志
  29. log_slave_updates=1
  30. ## slave设置为只读(具有supper权限的用户除外)
  31. read_only=1
  32. 重启mysql
  33. docker restart 容器id

3.在主数据库中查看主从状态

  1. docker exec -it 0ded753641bf /bin/bash
  2. mysql -uroot -p123456
  3. show master status;

4.进入slave容器

  1. docker exec -it 0ded753641bf /bin/bash
  2. mysql -uroot -p123456
  3. show master status;

5.在lave数据库配置主从复制

  1. #第一步
  2. change master to master_host='宿主机ip',master_user='slave',master_password='123456',master_port=3307,master_log_file='mall-mysql-bin.000001',master_log_pos=617,master_connect_retry=30;
  3. #第二步 在从数据库查看主从同步状态
  4. show slave status \G;
  5. #第三步 在从数据库开启主从同步
  6. start slave;

测试:

主机新建数据库,创建表,插数据,从机读

docker安装常用软件的更多相关文章

  1. 基于Docker安装常用软件

    基于Docker安装常用软件 本实验介绍如何基于Docker安装常用的软件,具体包括: Ubuntu Cetnos Nginx Node.js PHP MySQL Tomcat Redis Mongo ...

  2. 安装docker及使用docker安装其他软件(手动挂载数据卷)

    中秋明月,豪门有,贫家也有,极慰人心 Linux安装docker 可以参考官方的安装文档 centos安装docker: https://docs.docker.com/engine/install/ ...

  3. linux centos7 安装常用软件java,node,mysql,Seafile

    linux centos7 安装常用软件java,node,mysql,Seafile 安装压缩解压缩软件 yum install -y unzip zip 安装git yum install -y ...

  4. Deepin安装常用软件

    Deepin安装常用软件 安装git sudo apt-get install git sudo是Debian系列以管理员运行的前缀 卸载软件 sudo apt-get remove package_ ...

  5. linux安装常用软件和查询基本信息

                                                                          linux安装常用软件和查询基本信息 1. 安装常用软件 [ ...

  6. docker安装各类软件

    安装Docker Docker 要求 CentOS 系统的内核版本高于 3.10 , uname -r 命令查看你当前的内核版本 1 安装一些必要的系统工具: sudo yum install -y ...

  7. Ubuntu使用snap安装常用软件

    1,snap简介 什么是snap,snap是一种全新的软件包管理方式,它类似一个容器拥有一个应用程序所有的文件和库,各个应用程序之间完全独立.所以使用snap包的好处就是它解决了应用程序之间的依赖问题 ...

  8. win10创建Ubuntu16.04子系统,安装常用软件以及图形界面(包括win10远程桌面连接Ubuntu)

    一.开启win10子系统 [ Windows Subsystem for Linux(WSL)] 二.基本配置 三.安装常用的软件 安装配置zsh 使用 bash 客户端软件 cmder(其实是win ...

  9. docker安装Tomcat软件,部署项目

    1 搜索tomcat镜像 $ sudo docker search tomcat NAME DESCRIPTION STARS OFFICIAL AUTOMATED tomcat Apache Tom ...

  10. Docker笔记(二) 安装常用软件

    常用环境安装 这里收集一些常用环境的安装步骤,可直接复制进行使用,节省安装时间,后续会随时补充 安装MySQL5.7.32 下载mysql5.7.32的镜像 ( 记得下载镜像要先确保镜像仓库中存在这个 ...

随机推荐

  1. debian11用iso制作本地apt源

    摘抄记录,原文链接: https://blog.csdn.net/leejearl/article/details/122708953?spm=1001.2101.3001.6650.1&ut ...

  2. 图像高斯滤波的Verilog实现

    高斯滤波的原理: 高斯滤波是一种线性平滑滤波,适用于消除高斯噪声,广泛应用于图像处理的减噪过程.通俗的讲,高斯滤波就是对整幅图像进行加权平均的过程,每一个像素点的值,都由其本身和邻域内的其他像素值经过 ...

  3. got multiple values for keyword argument 'to_fields'

    django.db.models.fields.related.ForeignObject.__init__() got multiple values for keyword argument 't ...

  4. Java基于springboot大学生宿舍寝室考勤人脸识别管理系统

    简介 Java基于springboot开发的大学生寝室管理系统宿舍管理系统.学生可以查找寝室和室友信息,可以申请换寝室,申请维修,寝室长提交考勤信息(宿管确认学生考勤信息),补签,查看寝室通报,宿管信 ...

  5. protobuf遇坑总结

    在一个vs2013解决方案下创建了三个工程文件,在其中一个工程(Foundation)中放有CtrlMessage.pb.h和ControlMessageTags的头文件.编译后出错总共68处. 错误 ...

  6. HTML学习笔记4----更多元素

    随笔记录方便自己和同路人查阅. #------------------------------------------------我是可耻的分割线--------------------------- ...

  7. Word02 领慧讲堂就业讲座office真题

    1.课程的讲解之前,先来对题目进行分析,首先需要在考生文件夹下,将Wrod素材.docx文件另存为Word.docx,后续操作均基于此文件,否则不得分. 2.这一步非常的简单,打开下载素材文件,在[文 ...

  8. 手写reduce()

    function reduce(arr, callBack ,initVal){ if(!Array.isArray(arr) || !arr.length || typeof callBack != ...

  9. DDD(二)聚合、聚合根、领域服务、应用服务、仓储”和“工作单元”、领域事件、集成事件

    DDD(二)聚合.聚合根.领域服务.应用服务.仓储"和"工作单元".领域事件.集成事件 如果觉得样式不好:跳转即可 http://www.lifengying.site/ ...

  10. 清华大学资源库 和 CocoaPods / Specs 等多个 资源库共存

    1.如果本地pod 索引文件库只有清华大学的资源库[https://mirrors.tuna.tsinghua.edu.cn/git/CocoaPods/Specs.git].如果新在github上制 ...