在Docker里面安装Ubuntu,并且使用ssh进行连接

9,727 阅读3分钟

创建Ubuntu镜像

1,拉取Ubuntu系统的镜像

docker pull ubuntu

2、查看拉取是否成功

docker images

3,运行容器

docker run --name 新建的容器的名字 -ti -v /AAA:/BBB -d -p 3316:22 ubuntu(这个是镜像的名字)

  • 宿主机根目录中的AAA文件夹就映射到了容器中去了,两者之间能够共享
  • –name 指定生成的容器的名称
  • -i: 以交互模式运行容器,保证容器中STDIN是开启的。通常与 -t 同时使用;
  • -t: 为容器重新分配一个伪tty终端,通常与 -i 同时使用;
  • -d: 后台运行容器,并返回容器ID;
  • -p:可以指定要映射的IP和端口,但是在一个指定端口上只可以绑定一个容器。支持的格式有 hostPort:containerPort、ip:hostPort:containerPort、 ip::containerPort。
  • ubuntu 则是镜像名称,镜像ID也可以的。

4,查看容器是否运行成功

  • docker ps -a 查看所有的容器,包含启动和挂起的容器

注意事项

  • 这是一个极度精简的系统,连最基本的wget命令都没有;所以先要apt-get update升级系统和安装apt-get install wget命令

  • 正确退出系统方式:先按,ctrl+p;再按,ctrl+q。绝对不能使用exit或者ctrl+d来退出,这样整个系统就退出了。具体到MAC电脑应该使用control代替ctrl键

  • 退出后 再进入ubuntu
    1、首先用docker ps -a 查找到该CONTAINER ID对应编号(比如:0a3309a3b29e)
    2、进入该系统,使用命令:docker attach 0a3309a3b29e

安装SSH服务

1,进入容器终端

docker exec -t -i 新建容器的名字 /bin/bash

  • 或者参见上文的注意事项:退出后,如何进入容器终端

2,执行更新操作

  • apt-get update 进行更新操作

3、安装ssh-client、ssh-server

apt-get install openssh-client
apt-get install openssh-server

  • 等待,输入Y就可以完成完成安装操作

4,安装完成之后,就可以启动服务

/etc/init.d/ssh start

5,查看是否启动成功

ps -e|grep ssh

6,编辑sshd_config文件

  • 需要先安装vim编辑器 apt-get install vim
  • 编辑sshd_config文件,添加一行 PermitRootLogin yes ,使用Esc + :输入WQ保存修改,退出文件编辑界面

7,重启SSH服务

  • service ssh restart

8,设置SSH的密码

  • passwd root,这个过程需要输入两遍

9,查看容器的IP地址

  • 先安装net-tools的安装包 apt-get install net-tools
  • 查看ip地址 ifconfig

10,保存修改的镜像

  • docker commit [容器ID/容器名] [REPOSITORY:TAG]

使用Shell工具进行连接

  • 在本机连接可以用localhost:3316连接也可以用本机IP:3316连接

常用命令的补充

查看ubuntu版本:

  • cat /etc/issue

ssh相关命令

  • service ssh start 启动
  • service ssh stop 停止
  • service ssh restart 重启

参考链接