由于工作需要,要远程连接Container,本地机器是windows,以下为解决步骤:

1. 环境

本地:Windows

Docker版本1.12

远程:docker中的Container(Ubuntu)

2. Container安装ssh服务

首先进入Container,进行以下步骤:

① 安装ssh

  1. sudo apt-get install openssh-server #安装ssh服务器
  2. service ssh status # 查看ssh服务启动情况
  3. service ssh start # 启动ssh服务

② 配置ssh,允许root登陆

  1. vi /etc/ssh/sshd_config
  2. 将PermitRootLogin的值从withoutPassword改为yes

③ 重启ssh服务

  1. service ssh restart # 重启动ssh服务

3. 保存Container镜像

另外开启Docker Quickstart Terminal,保存镜像

  1. docker ps #查看正在运行的container
  2. **找到所要保存的container的container id,假设为xxxxxx**
  3. docker commit xxxxxxxx tomjerry/foobar
  4. (注:tomjerry/foobar为要保存的新镜像的名字,可任意写)

4. 重新运行Container

  1. docker run -it -p 50001:22 tomjerry/foobar /bin/bash
  1. service ssh start

注意-p 50001:22这句,意思是将docker的50001端口和container的22端口绑定,这样访问docker的50001等价于访问container的22端口

5. ssh连接container
你可以用xshell或putty等ssh客户端工具连接container

首先假设各方的ip如下:

  1. 本地windows ip: 192.168.99.1
  2. docker ip:192.168.99.100
  3. container ip:172.17.0.3

那么,你要远程container,则要访问以下地址:

  1. ssh 192.168.99.100:50001

这样通过访问docker的50001端口,就神奇的间接连通到container的22端口了,从而达到ssh连接container的目的,至此。

最新文章

  1. iOS多线程-多线程实现之GCD
  2. Memcache 内存分配策略和性能(使用)状态检查
  3. BookBlock - 效果非常真实的书本翻页预览
  4. 阿里云服务器怎么去掉tomcat的8080端口
  5. profiler加入计划任务
  6. 深入JVM系列之(3):JavaCore和HeapDump
  7. [Apache] 2.2与2.4版本在设置虚拟域名时的小差别
  8. poj 3207 Ikki's Story IV - Panda's Trick (2-SAT)
  9. Unslider – 轻量的响应式 jQuery 内容轮播插件
  10. 使用PHP搭建自己的MVC框架
  11. hihocoder1302 最长回文子串
  12. 如何为分布式系统优雅的更换RPC
  13. Class path & Path
  14. 非对称加密技术里面,最近出现了一种奇葩的密钥生成技术,iFace人脸密钥技术
  15. Git——快速重命名文件和查看commit提交版本【四】
  16. Max Sum (dp)
  17. PHP之数组函数
  18. session一二事
  19. join()方法跟踪
  20. c字符检测函数

热门文章

  1. [React] Theme your application with styled-components and "ThemeProvider"
  2. jquery 获取上一个兄弟元素和下一个兄弟元素
  3. 硬件——STM32 , 软件框架
  4. loadrunne-- Analysis 分析器
  5. jmeter与apache测试网站并发
  6. x264代码剖析(十五):核心算法之宏块编码中的变换编码
  7. 2、opencv2.4.13.6安装
  8. 【例题 6-8 UVA - 548】Tree
  9. Java反射学习总结终(使用反射和注解模拟JUnit单元测试框架)
  10. POJ 2590 Steps (ZOJ 1871)