Docker 入门实战-ssh连接容器

本文首发于个人博客

在文章开始之前先说一个好消息: 年前会有一次视频分享,所有视频都已经归类,另外还有一次赠书活动,敬请期待。

下面是个人博客原文:

实验环境: centos7

[html] view plain copy

  1. [root@docker1 ~]# uname -r
  2. 3.10.0-693.el7.x86_64

docker 版本

[html] view plain copy

  1. [root@docker1 ~]# docker version
  2. Client:
  3. Version: 17.12.0-ce
  4. API version: 1.35
  5. Go version: go1.9.2
  6. Git commit: c97c6d6
  7. Built: Wed Dec 27 20:10:14 2017
  8. OS/Arch: linux/amd64
  9. Server:
  10. Engine:
  11. Version: 17.12.0-ce
  12. API version: 1.35 (minimum version 1.12)
  13. Go version: go1.9.2
  14. Git commit: c97c6d6
  15. Built: Wed Dec 27 20:12:46 2017
  16. OS/Arch: linux/amd64
  17. Experimental: false
  18. [root@docker1 ~]#

已经下载的镜像

centos (命令: docker pull centos)

为确保容器通信需要开启转发:

[html] view plain copy

  1. vim /usr/lib/sysctl.d/00-system.con
  2. 添加: net.ipv4.ip_forward=1
  3. 重启网络 systemctl restart network

另外docker已经安装并且启动

以上是实验环境,接下来按照如下步骤来做实验

实验思路:

  1. 新建一个容器test01并登陆
  2. 安装openssh-server服务并启动,并设置root密码
  3. 使用commit将容器test01 提交到镜像centos_ssh
  4. 利用centos_ssh 创建test02 ,映射本地端口
  5. 本机登陆测试

接下来是详细步骤:

1. 新建一个容器test01 并登陆

[html] view plain copy

  1. docker run -ti --name test01 centos /bin/bash

2.安装openssh-server服务并启动,并设置root密码

1) 安装openssh-server

2)启动ssh 必须在/var/run目录下有sshd目录,所以这里没有的话需要建立,然后启动ssh

注意: 此处启动很容易报错,最常见的报错信息如下:

解决方案:下面的命令每个执行一次

解决完后,重新启动就可以了: /usr/sbin/sshd -D &

3) 创建登陆用的root密码,当然你也可以创建普通用户

3. 退出并创建镜像centos_ssh

4. 使用centos_ssh镜像创建一个容器并测试

1)创建容器

2) 测试

可以看到已经可以连接到容器里了

注意:此文章只是测试,目的在于让你熟悉常用的docker 命令。

另外如果在学习中遇到任何问题,可以跟我互动交流哦。

原文发布于微信公众号 - 大数据架构师专家(xinsz08)

原文发表时间:2018-01-12

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏智能合约

centos安装lnmp环境

4705
来自专栏云计算教程系列

如何使用Helm软件包管理器在Kubernetes集群上安装软件

Helm是Kubernetes的软件包管理器,允许开发人员和操作员更轻松地在Kubernetes集群上配置和部署应用程序。

1872
来自专栏KaliArch

Docker+Jenkins+GIT+Tomcat实战持续化集成

| Docker-server | 172.20.6.20 |Docker宿主机

5574
来自专栏实战docker

Docker学习笔记之一:准备,安装,初体验

想实践一下Docker,手头是个windows电脑,由于想在linux下实践,所以第一步是装虚拟机,我用的是VMware Workstation 12 Play...

37210
来自专栏实战docker

Docker学习笔记之二:web开发和Tomcat部署

本期实践的主要目标是开发一个简单的web应用,打包部署到Docker的tomcat容器中去; 第一期为了快速上手,获取docker是从国内的daocloud...

30211
来自专栏日常工作总结

Kubernetes中Consul重启自动加入集群实践

近期频繁的容器母机调整导致我们的业务需要多次重启,不得不寻找一种自动重建Consul集群的方式。在网上搜索和学习一番后发现,基本没有针对Kubernetes容器...

3093
来自专栏IT笔记

Linux运维必须掌握的150个常用命令

有小伙伴留言说之前看了我分享里有一篇Linux基础命令详细版,但是太长,问我有没有简洁版的。 于是我就整理了下,以下这些命令,被称为“Linux运维必须掌握的1...

7188
来自专栏Rainbond开源「容器云平台」

「Rainbond最佳实践」Tomcat配置Redis实现Session共享

2082
来自专栏运维小白

linux基础(day19)

6.1 压缩打包介绍 家用带宽和机房带宽的区别: 家用的IP是动态的、不固定的,而机房的IP却是固定不变的 家用的上传和下载带宽也是不同的;而在机房中的带宽,下...

2058
来自专栏达摩兵的技术空间

docker下部署jenkins(一)

本文带你在docker中安装jenkins服务,为入门级别的介绍,建议阅读时间10-15min.

1.1K3

扫码关注云+社区

领取腾讯云代金券