zoukankan      html  css  js  c++  java
  • virtualBox安装虚拟机并且安装docker以及在docker中安装redis和mysql

    原文: https://blog.csdn.net/sf1234666/article/details/112034430

    VirtualBox安装虚拟机并且安装docker以及在docker中安装redis和mysql
    1.1、下载virtualBox

    https://www.virtualbox.org/wiki/Downloads

    1.2、搜索linux系统

    https://app.vagrantup.com/boxes/search


    1.2.1、下载vagrant

    官网地址https://www.vagrantup.com/

    安装之后需要重启电脑,重启之后输入 命令查看是否安装成功

     vagrant 

    1.2.2、使用vagrant在virtualBox中创建一个虚拟机

    打开镜像仓库 https://app.vagrantup.com/boxes/search 在其中找到centos/7

    vagrant init centos/7

    执行命令在目录中创建了一个Vagrantfile文件,使用命令 启动虚拟机

    vagrant up

    连接虚拟机

    vagrant ssh

    退出虚拟机

    exit

    停止虚拟机

    打开virtualbox 停止


    1.2.3、设置虚拟机网络


    1.2.4、安装docker

    卸载旧版本

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

    安装所需的软件包

    sudo yum install-y yum-utils \
    device-mapper-persistent-data \
    vm2

    设置仓库

    sudo yum-config-manager \
    --add-repo \
    https://download.docker.com/linux/centos/docker-ce.repo

    安装 Docker Engine-Community

    sudo yum install docker-ce docker-ce-cli container.io

    启动docker

    sudo systemctl start docker

    设置docker的开机自启动

    sudo systemctl enable docker

    为docker设置镜像加速

    进入阿里云控制台->容器镜像服务->镜像中心->镜像加速器


    1.3、docker安装mysql数据库

    https://registry.hub.docker.com/_/mysql?tab=tags&page=1&ordering=last_updated

    我们以5.7为例,执行命令

    sudo docker pull mysql:5.7

    查看镜像

    sudo docker images

    创建实例并启动

    sudo docker run -p 3306:3306 --name mysql \
    -v /mydata/mysq/log:/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

    查看运行中的镜像

    sudo docker ps 

    进入mysql的里面

     sudo docker exec -it mysql /bin/bash

    修改mysql的配置 设置mysql的编码等信息

    vi /mydata/mysql/conf/my.cnf 

    这个时候my.cnf是没有的,我们直接编辑即可

    [client]
    default-character-set=utf8
    [mysql]
    default-character-set=utf8
    [Imysqld]
    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

    sudo docker restart mysql

    设置mysql 开机随着虚拟机和docker的启动而启动

    docker update --restart=always 容器id


    1.4、docker安装redis

    docker pull redis

    创建实例并启动

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

    运行

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

    测试redis

    sudo docker exec -it redis redis-cli

    修改外部的 /mydata/redis/conf 中的redis.conf文件 进行持久化操作,这样redis再重启的时候,里面保存的数据是可以再次查询到的
    如果不设置,则redis再次启动的时候 之前存放的数据就都没有了

    appendonly yes

    重启redis

    sudo docker restart redis

    设置redis开机随着虚拟机和docker的启动而启动

    docker update --restart=always 容器id

    1.5、使用xshell连接虚拟机

     当我们使用Vgrant 安装完成虚拟机之后,我们可以使用vagrant ssh 连接上
    然后我们可以切换到root用户,然后执行vi /etc/ssh/sshd_config 命令,将其中的PasswordAuthentication 改为yes,然后使用passwd修改密码,使用systemctl restart sshd重启密码服务(如果这个命令不行,则可以试试 service sshd restart)
    使用ip add查看ip即可使用远程工具登录root用户

  • 相关阅读:
    HTML颜色表
    grid
    DOM和BO
    注册表
    js 正则表达式
    python学习之路(一)
    python学习之路(三)
    python学习之路(二)
    自己编写的泛型集合类(其实是照着微软的List写的)
    客户端回调服务端无刷新事件
  • 原文地址:https://www.cnblogs.com/meetrice/p/15622711.html
Copyright © 2011-2022 走看看