Docker安装与配置ssh,远程mysql

2019-05-08  本文已影响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端口

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

上一篇下一篇

猜你喜欢

热点阅读