docker下安装ubuntu以及ssh服务进行链接

docker像虚拟机vps一样安装玩转系统。

1、安装ubuntu系统

在docker的hub仓库中,有专门的ubuntu系统。我们直接用使用就可以了。

docker search ubuntu

2、选择要拉下了的镜像

docker pull ubuntu

这里可以很很慢,因为镜像是在国外。使用镜像加速就可以了。

在/etc/docker/daemon.json 文件并添加上 registry-mirrors 键值。如果没有文件,则新建一个。键值如下:

{
  "registry-mirrors": ["https://registry.docker-cn.com"]
}

重启服务: service docker restart 。

3、下载完毕后,查看镜像:

docker images

4、运行容器

docker run --name iubuntu -t -i -d -p 3316:22 ubuntu

参数: –name 指定生成的容器的名称
-i: 以交互模式运行容器,保证容器中STDIN是开启的。通常与 -t 同时使用;
-t: 为容器重新分配一个伪tty终端,通常与 -i 同时使用;
-d: 后台运行容器,并返回容器ID;
-p:可以指定要映射的IP和端口,但是在一个指定端口上只可以绑定一个容器。支持的格式有 hostPort:containerPort、ip:hostPort:containerPort、 ip::containerPort。
ubuntu 则是镜像名称,镜像ID也可以的。

5、进入容器终端安装ssh服务

docker exec -t -i [容器名orID]  /bin/bash
  • 1

安装ssh服务(默认为root权限用户):

  • 先执行更新
     apt-get update
  • 安装ssh-client命令
     apt-get install openssh-client
  • 安装ssh-server命令
     apt-get install openssh-server
  • 安装完成以后,先启动服务
     /etc/init.d/ssh start

启动后,可以通过“ps -e|grep ssh”查看是否正确启动。

 

  • 最后编辑sshd_config文件
    vim  /etc/ssh/sshd_config

    将PermitRootLogin xxxx-password 改为 PermitRootLogin yes。
    如果没有vim,先apt-get install vim。

  • 重启ssh服务
    service ssh restart
  • 设置ssh密码
    passwd root
  • 查看容器ip:
    apt-get install net-tools

    然后输入ifconfig,查看容器ip。

    6、ssh链接容器中的系统

    退出容器终端exit。
    在宿主机中,docker ps -a 命令中可以查看到容器的端口。在宿主机中,可以使用localhost进行登录,也可以使用刚才ifconfig查看的ip进行登录。

    ssh root@localhost -p 3316

    如果要从外部进行登录,就要使用宿主机的ip,端口不变。这样我们的任务就完成了。接下来,就可以自由玩耍服务器了。

    ssh root@x.x.x.x -p 3316

    x.x.x.x就是宿主机的ip地址。

    7、提交更改的镜像

    刚刚我们对容器进行了安装,可以如果删掉话。每次都要重新执行上面的操作,所以可以对镜像进行提交保存。

    docker commit  [改变了的容器的ID]  [REPOSITORY:TAG]

 

此条目发表在服务器分类目录,贴了标签。将固定链接加入收藏夹。

发表回复