Docker Desktop 安装 Ubuntu 并允许远程访问
通过使用Docker,在Windows操作系统中使用Linux操作系统(Ubuntu),并且能够通过网络远程访问Linux操作系统。
目录
1.打开命令行(Windows键 + R,然后输入cmd,并回车)
一、问题背景
我的计算机是 Windows11 操作系统,我希望能够在这台计算机上使用Linux操作系统,并且能够通过网络远程访问这个Linux操作系统,使用Docker是这个问题的一种解决方案。Docker 有 Windows 版本,名为Docker Desktop。官网链接:
Docker: Accelerated, Containerized Application Development
在安装完成Docker Desktop之后,就可以拉取(pull)一个镜像(Image)并且运行一个容器(Container)。如果不太清楚镜像和容器是什么,可以把镜像简单理解为类,把容器简单理解为对象。基于一个镜像,可以生成并运行一个容器。
下面的过程的过程主要包括:
1.拉取镜像。
2.运行容器。
3.安装服务并运行(因为发现所拉取的ubuntu镜像是最小安装,很多重要的服务都没有,比如远程登陆的ssh服务)。
二、操作步骤
1.打开命令行(Windows键 + R,然后输入cmd,并回车)
2.先查看一下本地的所有镜像
在命令行输入以下命令:
docker images
3.查看要拉取的镜像版本(标签)
可以在搜索栏里面搜索ubuntu,找到对应的版本。(也可以直接访问官网: Ubuntu )
我选择的是Ubuntu 22.04版本。
4.拉取对应的镜像
在命令行输入以下命令:
docker pull ubuntu:22.04
5.运行一个容器
在命令行输入以下命令:
docker run -itd -p IP地址:外部端口:内部端口 --name 容器名字 镜像:标签 /bin/bash
注:
外部端口是指Windows操作系统中的端口
内部端口是指容器中的Ubuntu操作系统的端口
这里是一个例子:
docker run -itd -p 0.0.0.0:10000:22 --name myubuntu ubuntu:22.04 /bin/bash
其中:
0.0.0.0表示本地所有的Ip
这里把windows系统中的10000端口映射到了ubuntu的22端口(ssh需要使用22端口)
可以使用以下命令查看正在运行的容器信息:
在Docker Desktop界面也可以看到相关的信息:
6. 使用终端进入Ubuntu
点击“Open in Terminal”:
打开终端后如下所示:
7.更新
apt update
8.安装ssh服务
apt install openssh-server
9.安装vim编辑器
需要对ssh配置文件进行编辑,所以要安装vim编辑器:
10.编辑ssh配置文件
配置文件的位置位于 “ /etc/ssh ”,需要编辑该目录下的sshd_config文件
需要进行以下四项的配置:
PermitRootLogin yes #允许root使用ssh登录
PubkeyAuthentication yes #启用公钥私钥配对认证方式
AuthorizedKeysFile .ssh/authorized_keys # AuthorizedKeysFile项已包含在配置文件,这里只需要取消注释即可,此处的路径“.ssh/authorized_keys”以本地文件为准
UsePAM no #不适用PAM
配置结果如下面两个图所示:
11.启动ssh服务并查看服务状态
service ssh start
service ssh status
12.为root设置密码以便于登录
使用“passwd”命令设置密码(注:为了保证安全,在设置密码时候,输入的内容是不会输出到屏幕上的,所以输入字符时候,是看不到输入内容的,正常输入即可)
三、测试
在另一台计算机上,使用ssh登录到容器中Ubuntu的root,配置成功:
本篇文章的部分内容参考了:
Docker Docs: How to build, share, and run applications
docker ssh连接_docker容器ssh连接_Dennis-Chen的博客-CSDN博客
如有不当或错误之处,恳请您的指正,谢谢!!!
更多推荐
所有评论(0)