文档章节

通过ssh远程连接docker中的容器

卖小女孩的小火柴
 卖小女孩的小火柴
发布于 2017/08/17 17:24
字数 740
阅读 2784
收藏 14

需求:

想自己搭建一个ubuntu的lnmp环境,但是使用powershell的时候,各种别扭,所以就考虑远程连接,通过putty或者xshell来连接

 

环境:

系统:Win10

docker:Version 17.06.0-ce-win19 (12801)

容器管理:kitematic for windows

远程连接工具:xshell

容器系统:ubuntu

 

过程:

一、下载ubuntu容器

从ketematic中下载官方最新版ubuntu

备注:1、推荐使用阿里云或者国内的其他镜像,速度非常快

2、如果不用ubuntu,你也可以使用其他linux发行版,都是类似操作

 

二、准备工作

因为新装的官方ubuntu中很多命令都没有,需要自己安装

apt-get update

apt-get install vim

 

给root初始化密码

sudo passwd root(如果sudo命令不存在,使用passwd root)

然后设置密码即可,比如我直接设置的密码就为root

 

备注:1、如果你不想用root账号,可以增加其他账号,ssh配置和登录的时候使用其他账号即可

 

三、安装ssh

安装

apt-get install openssh-server

查看状态

service ssh status

开启ssh

service ssh start

 

四、配置ssh,运行root登录

vim /etc/ssh/sshd_config  

PermitRootLogin的值从prohibit-password改为yes  

如下:

- PermitRootLogin prohibit-password + PermitRootLogin yes

 

编辑完后进行保存,然后重启ssh

service ssh restart

 

五、保存当前容器的更改

通过kitematic打开,或者通过Docker Quickstart Terminal打开docker命令操作

docker ps查看当前正在运行的docker有哪些

可以看到当前运行的ubuntu的容器ID为多少

保存新容器

docker commit 66b34b5228d8

 

备注:1、语法为docker commit 容器ID

 

六、给容器配置可访问端口

因为ssh的端口为22,那么我们配置一个外部端口来访问容器中的端口

配置好后,点击保存,容器会自动重启

 

备注:1、外部端口可以随便配置一个不冲突的端口即可,我这里配置的50001

2、重启容器后,可能需要重新启动ssh,service ssh start

 

七、通过xshell、putty连接容器

以上所有工作都准备完了,我们需要通过docker的ip地址进行访问(不能通过容器的ip地址访问,因为要进行映射)。

本地cmd-》ipconfig查看当前docker的ip地址

那么我们ssh访问的地址即为上面两步配置的192.168.56.1:50001

账号为root,密码为root

你可以通过putty或者xshell等ssh客户端工具进行连接

此时,连接成功

 

总结:

以上操作没有考虑安全问题,直接用的root啊,ssh也没有经过多余配置,因为这个是本地的开发环境搭建,所以简单即可。

因为kitematic的存在,很多地方变得所见即所得了,很直观。不像之前使用命令来操作,如果你喜欢使用命令,那么不用kitematic其实都是一样的,没区别。

© 著作权归作者所有

卖小女孩的小火柴

卖小女孩的小火柴

粉丝 46
博文 68
码字总数 28535
作品 1
成都
项目经理
私信 提问
Docker Centos添加SSH服务

docker version: 1.12.6 image: docker.io/centos:latest, 2d194b392dd1 在Docker社区中,对于是否需要为Docker容器添加SSH服务一直存有争议。 反对方的观点是:Docker的理念是一个容器只运行...

时间之弧
2018/03/18
0
0
Docker运行GUI软件的方法

简介: Docker通过namespace将容器与主机上的网络和运行环境进行了隔离,默认情况下,在容器中运行带界面的软件在外部是看不到的。在这个分享中,将介绍通过共享X11套接字让外部主机显示容器...

xiaoxin
10/11
35
1
创建基于ssh的可以免密码登录的docker镜像

一般情况下,linux系统管理员通过ssh服务来管理操作系统,但是docker的很多镜像是不带ssh服务的,那么我们怎么样才能管理操作系统呢? 我们学过attach ,exec的命令进入容器的方法,但是都无法...

双月通天
2016/06/14
1K
0
林帆:Docker运行GUI软件的方法

欢迎关注大数据和人工智能技术文章发布的微信公众号:清研学堂,在这里你可以学到夜白(作者笔名)精心整理的笔记,让我们每天进步一点点,让优秀成为一种习惯! 继上周的“Kubernetes v1.0...

李金泽
2018/04/01
0
0
docker创建支持ssh服务的centos镜像

以centos为基础,目的使用ssh服务远程连接docker容器 环境:宿主机centos7,直接搜索docker的centos镜像,下载最新版本 1、先按照docker:yum install -y epel-release yum install -y dock...

射手Mr吴
2016/07/13
0
0

没有更多内容

加载失败,请刷新页面

加载更多

PhotoShop 高级应用:USM锐化/S锐化/防抖

、 高反差锐化+混合模式:叠加模式 【将更多的边缘细节添加到图像中】

东方墨天
24分钟前
6
0
Python数据可视化之matplotlib

常用模块导入 import numpy as npimport matplotlibimport matplotlib.mlab as mlabimport matplotlib.pyplot as pltimport matplotlib.font_manager as fmfrom mpl_toolkits.mplot3d i......

松鼠大帝
昨天
5
0
我用Bash编写了一个扫雷游戏

我在编程教学方面不是专家,但当我想更好掌握某一样东西时,会试着找出让自己乐在其中的方法。比方说,当我想在 shell 编程方面更进一步时,我决定用 Bash 编写一个扫雷游戏来加以练习。 我在...

老孟的Linux私房菜
昨天
7
0
Go语言Hello world(GOPATH和Go Module版)

本文是「vangoleo的Go语言学习笔记」系列文章之一。 官网: http://www.vangoleo.com/go/go-hello-world-02/ 往期回顾: Go语言入门-你好,Go语言 Go语言入门-Hello World(Go Playground版) 上...

vangoleo
昨天
9
0
C++虚函数以及虚函数表

在了解虚函数之前先了解下对象模型: 对象模型: 在C++中,有两种数据成员(class data members):static 和nonstatic,以及三种类成员函数(class member functions):static、nonstatic和v...

黑白双键
昨天
9
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部