美文网首页
Docker安装与配置ssh,远程mysql

Docker安装与配置ssh,远程mysql

作者: 鸡龙 | 来源:发表于2019-05-08 19:59 被阅读0次

    Docker容器部署运行开发环境(建立ssh,mysql远程访问)

    1、系统环境

    阿里云服务器 ubuntu18.04.1 64位

    2、安装docker

    具体docker使用手册
    1)先删除可能已有的docker版本

    $ sudo apt-get remove docker docker-engine docker.io
    

    2)安装linux-image-extra-*包,以便docker使用aufs存储驱动

    $ sudo apt-get update
    $ sudo apt-get install \
        linux-image-extra-$(uname -r) \
        linux-image-extra-virtual   
    

    3)更新apt包索引

    $ sudo apt-get update
    

    4)安装允许apt通过HTTPS来使用repository的包

    $ sudo apt-get install \
        apt-transport-https \
        ca-certificates \
        curl \
        software-properties-common
    

    5)添加Docker的官方GPG key,并验证该key是否安装成功

    curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
    sudo apt-key fingerprint 0EBFCD88
    
    key

    6)amd64位机器上使用如下命令来建立稳定的库

    $ sudo add-apt-repository \
       "deb [arch=amd64] https://download.docker.com/linux/ubuntu \
       $(lsb_release -cs) \
       stable"
    

    7)安装Docker CE

    $ sudo apt-get update
    $ sudo apt-get install docker-ce
    
    安装成功
    3、搭建ssh远程访问
    1)追加映射22端口

    在创建docker境像时并未给22端口设置映射,所以需要追加端口映射到物理机222端口
    因为这一步骤是在阿里云服务上实现,所以需要对服务器防火墙增加规则开放222端口
    先停止docker的服务(这一步需要建立镜像时考虑周到,虽然可以删除镜像重新部署,但这里也写一下,连同下文的3306Mysql映射也一起弄了)


    docker stop 7a0a
    systemctl stop docker
    

    再修改一下你对应的docker境像的配置文件,{container_id}需要进containers文件夹复制,因为实在很长。不止7a0afb294b33这段


    vi   /var/lib/docker/containers/{container_id}/hostconfig.json
    

    找到 这个 PortBindings 值。在这个json集合里边追加新端口,显示成一行比较难找


    追加位置

    改成

    "PortBindings": {
         "80/tcp": [
             {
                 "HostIp": "",
                 "HostPort": "8080"
             }
         ],
         "23/tcp": [
             {
                 "HostIp": "",
                 "HostPort": "22"
             } 
    

    config.v2.json文件里边也要修改port的配置


    追加位置
    "Config": {
        ....
        "ExposedPorts": {
            "80/tcp": {},
            "8888/tcp": {}
        },
        ....
    },
    "NetworkSettings": {
    ....
    "Ports": {
         "80/tcp": [
             {
                 "HostIp": "",
                 "HostPort": "80"
             }
         ]
    }
    

    完成修改之后:wq,然后启动docker的服务和容器,就完成了追加映射

    systemctl start docker
    docker start 7a0a
    
    2)开始设置ssh登录

    步骤一、更新源后安装openssh-server

    apt install -y openssh-serve
    或
    sudo apt-get install openssh-server
    

    步骤二、配置ssh文件sshd_config

    vim /etc/ssh/sshd_config
    
    修改位置

    将原本可能为prohibit-password或者withoutpasswod更改成yes,并在文本最后行加UsePAN no


    修改位置

    步骤三、启动ssh

    service ssh start
    

    步骤四、修改远程密码
    通过命令:passwd root后输入需要更改的密码




    ssh连接已配置完成,远程连接成功

    4、mysql远程

    1)启动mysql后,修改root的localhost,这样可以使root用户被远程连接

    service mysql start
    mysql>use mysql;
    mysql>update user set host ="%" where user = "root";
    
    mysql>select host, user from user;
    mysql>FLUSH PRIVILEGES;
    

    如果本来就有%root用户,可以将root密码修改为一致,因为多个root密码有可能不一致


    多个root
    (无password字段的版本)update user set authentication_string=PASSWORD("密码") where user='root';
    (有password字段的版本)update user set password=password('密码') where user='root';
    set password for root@'%' password=password("密码");
    mysql>FLUSH PRIVILEGES;
    

    2)配置/etc/mysql/my.cnf

    vim /etc/mysql/my.cnf
    注释掉bind-address = 127.0.0.1
    

    3)重启mysql服务

    service mysql restart
    
    远程成功

    远程连接填上root,密码,和你映射的端口别填错,不出意外就能成功了

    注、远程记得配置服务器防火墙,docker记得映射3306端口

    大部分操作都是能从网络上获得的,集成一起做笔记,送给有缘刷到的人(我是搬运工我快乐)

    相关文章

      网友评论

          本文标题:Docker安装与配置ssh,远程mysql

          本文链接:https://www.haomeiwen.com/subject/uvovoqtx.html