• Docker安装MySQL,Redis,阿里云镜像加速


    Docker安装

    虚拟化容器技术。Docker基于镜像,可以秒级启动各种容器。每一种容器都是一个完整的环境,容器之间相互隔离。

    如果之前安装的有其他版本,卸载旧的版本。

    $ sudo yum remove docker 
                      docker-client 
                      docker-client-latest 
                      docker-common 
                      docker-latest 
                      docker-latest-logrotate 
                      docker-logrotate 
                      docker-engine
    

    安装yun-utils和yum-config-manager

    $ sudo yum install -y yum-utils
    
    $ sudo yum-config-manager 
        --add-repo 
        https://download.docker.com/linux/centos/docker-ce.repo
    

    安装最新版本

    $ sudo yum install docker-ce docker-ce-cli containerd.io
    

    查看版本

    $ sudo docker -v
    

    开启docker

    $ sudo systemctl start docker
    

    验证是否安装成功,运行hello-world

    $ sudo docker run hello-world
    

    阿里云镜像加速

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

    sudo mkdir -p /etc/docker 
    sudo tee /etc/docker/daemon.json <<-'EOF' 
    {  
    	"registry-mirrors": ["https://w4zxu525.mirror.aliyuncs.com"]
    }
    EOF 
    sudo systemctl daemon-reload 
    sudo systemctl restart docker
    

    Docker安装MySQL

    获取MySQL的镜像

    docker pull mysql:5.7
    

    查看镜像docker images

    运行下载好的镜像

     docker run -p 3306:3306 --name qmm-mysql -v ~/mysql/data:/var/lib/mysql -v ~/mysql/conf:/etc/mysql -v ~/mysql/log:/var/log/mysql -e MYSQL_ROOT_PASSWORD=123456  -d mysql:5.7
    
    

    查看所有docker创建的容器: docker ps -a

    docker ps 查看正在运行的容器

    image-20200922195326287

    修改MySQL的配置文件

    找到你从容器映射到本机的目录,例如上面映射的是~/mysql/conf对应docker容器中MySQL的/etc/mysql;进去~/mysql/conf你发现什么都没有,然后用以下命令创建配置文件

    vi my.cnf
    

    添加以下内容,实际上就改了character-set=utf8

    
    [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-server=utf8
    collation-server=utf8_unicode_ci
    skip-character-set-client-handshake
    skip-name-resolve
    
    

    怎样让修改后的配置生效呢?

    重启mysql容器:docker restart mysql

    然后进去mysql的控制台,查看以下里面的配置是否已经更新

    进入mysql容器,控制台:docker exec -it (容器ID) /bin/bash

    查看内容:cat my.cnf

    image-20200922200111469

    Docker安装Redis

    下载镜像文件

    docker pull redis
    

    image-20200922200512385

    创建实例并启动

    首先创建redis配置文件

    mkdir -p ~/redis/conf
    touch ~/redis/conf/redis.conf
    

    image-20200922200915263

    启动实例

    docker run -p 6379:6379 --name redis -v ~/redis/data:/data -v ~/redis/conf/redis.conf:/etc/redis/redis.conf -d redis redis-server /etc/redis/redis.conf
    

    检查 docker ps

    image-20200922201410260

    使用redis镜像执行redis命令

    docker exec -it redis redis-cli
    

    image-20200922201554628

    因为redis的数据是直接存储在内存中的,所以当我们再次启动redis的时候,里面的数据就没了(默认情况下是不支持持久化的)。

    image-20200922201912051

    那如何使redis支持持久化呢?

    进入redis配置文件的目录下,然后修改配置文件,开启AOF持久化。

    image-20200922202109561

    在redis.conf中添加appendonly yes,然后保存退出。

    然后再重启redis容器,进入redis-cli,重新添加键值对,退出,再重启是,因为开启了AOF持久化所以,还可以查到之前设置的值。

    image-20200922202607145

    最后还有查看docker下载的redis版本,其实默认不指定就是下载最新版。

    docker exec -it redis redis-server -v

    image-20200922203258720

    redis6.0配置文件官方文档

    image-20200922203459768

  • 相关阅读:
    比特币节点同步问题
    Vue用axios跨域访问数据
    vue之vue-cookies安装和使用说明
    vuejs目录结构启动项目安装nodejs命令,api配置信息思维导图版
    使用以太坊智能合约实现面向需要做凭证的企业服务帮助企业信息凭证区块链化
    将任意文件写入以太坊区块的方法,把重要事件,历史事件,人生轨迹加密记录到区块链永久封存
    Linux下几种重启Nginx的方式,找出nginx配置文件路径和测试配置文件是否正确
    php小数加减精度问题,比特币计算精度问题
    Fabric架构:抽象的逻辑架构与实际的运行时架构
    国外互联网大企业(flag)的涨薪方式
  • 原文地址:https://www.cnblogs.com/itjiangpo/p/14181318.html
Copyright © 2020-2023  润新知