docker安装Ubuntu22.04最新系统

1、拉取Ubuntu镜像并启动
我们的主要目的是创建一个Ubuntu系统,然后可以在任何地方远程ssh登陆它,这样就可以把docker出的这台Ubuntu当做服务器使用了。

# 查看Ubuntu有哪些镜像
docker search ubuntu

# 拉取Ubuntu镜像
docker pull ubuntu

# 查看拉取到的镜像
docker images

#查看更详细的Ubuntu信息
docker inspect ubuntu

#创建并启动Ubuntu容器
docker run --name ubuntu22.04 -it -p 2060:22 -v /home/jason:/home/jing ubuntu bash
参数--name设置container容器的名称,我们设置成Ubuntu22.04,如果为空则随机生成。

参数-p指定端口号,2060是宿主机的端口号,22是container的端口号,相当于把容器的22端口号映射到宿主机的2060。

参数-v设置主机与container的共享目录: 主机绝对路径:container绝对路径,我们这里把宿主机的/home/jason目录,映射到container的/home/jing,你在容器里是可以查到这个目录的。

参数ubuntu对应的是镜像的名称。

2、给ubuntu22.04安装ssh
这里是容器里的操作,容器里开放22端口:

#升级安装包
apt update

#进行安装包的更新
apt upgrade

#安装ssh
apt install openssh-server

#可选项,为了连接别的ssh-server
apt install openssh-client

#安装vim
apt install vim

#将PermitRootLogin的值改为yes,/搜索即可,超级简单
vim /etc/ssh/sshd_config

#启动ssh服务
service ssh start

#修改root密码,输入passwd,然后输入修改的密码即可
passwd

#安装ufw开放22端口
apt install ufw

#开放22端口
ufw allow 22
3、开放宿主机2060端口

这里是宿主机里操作,也就是安装docker的那台机器,宿主机开放2060端口。

#安装ufw开放2060端口
apt install ufw

#开放2060端口
ufw allow 2060

#安装net-tools
apt install net-tools

#查看ip地址
ifconfig
4、局域网登陆ubuntu22.04

容器的22端口映射到宿主机的2060端口,然后就可以根据宿主机的ip来进行登陆到容器里了。有人说为啥不用容器里的IP,这里说明一下,我们物理机器上只有一根网线,一根网线就只有一个IP。容器里的IP是VIP,也就是虚拟IP,它不能在局域网里进行访问。当然你可以在宿主机进行访问这个VIP。

在windows PowerShell或者类似的远程连接工具里,输入ssh命令进行访问。

ssh -p 2060 root@192.168.31.226
参数-p指定端口号为2060。

参数root指定使用root用户登录。

参数192.168.31.226这里是宿主机的IP,注意不是容器的。因为我们只有一根网线,一根网线只有一个IP地址,所以容器和宿主机公用同一个IP地址。

5、远程ssh登陆容器
想要远程登陆到容器,必须把家里的这台机器暴露到互联网中。访问路径是:互联网任何地方的网络→家庭宽带光猫→家庭路由器→家庭交换机(如果有的话)→局域网宿主机→容器。

首先家里的宽带必须桥接,必须申请公网IP,光猫的管理权交给路由器,路由器开放特定机器的特定端口号。通过小米路由器设置,把家里的docker宿主机的2060端口号暴露到互联网,暴露的端口号为2022。

我家的公网IP现在是58.246.143.76,可以通过百度IP进行查看,现在就可以通过这个IP进行登录到docker容器了。网络的流程为:公网IP58.246.143.76:2022→宿主机192.168.31.226→容器:22。现在就可以通过公网IP加端口号登陆到ubuntu容器了。

当然这个运营商分配的公网IP是经常变化的,所以我进行了DDNS解析,也就不怕公网IP随时变化了,公共域名同样可以登录。

这个时候,我们是不是可以在家里虚拟出N多机器,供外面的人使用了?不要太开心的!

大功告成,enjoy it。

6、退出关闭容器
ubuntu22.04是我们给运行中的这个容器起的名儿,所以都可以根据这个名称进行操作,当然也可以使用容器ID进行操作。

#退出容器,在命令行输入exit
exit

#关闭容器, docker stop + 容器ID
docker stop ubuntu22.04

# 查询所有的容器,包括没有运行的
docker ps -a

#查看所有运行中的容器
docker ps

#开启容器docker start + 容器ID或者容器名
docker start ubuntu22.04

#进入容器 docker attach + 容器的ID或者容器的名称
docker attach ubuntu22.04

#删除容器docker rm -f + 容器名
docker rm -f ubuntu22.04
说明

我们这里就相当于实现了ubuntu中套ubuntu,docker虚拟出的ubuntu可以当做一台机器使用,当然只要你的硬件资源够用,可以虚拟出无数多个ubuntu进行使用。而且可以通过公网IP或者域名进行访问,超级方便。 

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值