Docker安装与配置ssh,远程mysql

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

1

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

安装成功

2

3、搭建ssh远程访问
1)追加映射22端口

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

3

docker stop 7a0a
systemctl stop docker

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

4

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

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

追加位置

5

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

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

追加位置

6

"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

修改位置

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

修改位置

8

service ssh start

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

9

10

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

11

(无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

远程成功

12

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

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

# docker 

评论

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×