win10使用Docker在本地搭建ubuntu服务器

前言

经常鼓捣代码的都清楚有些事情在linux上干比windows上干方便太多了,比如大佬们的项目在linux上做的,我想试验一下,但是我们经常用的系统又都是windows啊mac啊这种的。土豪一点的方法是,我买个机器装个linux系统,跟着大佬学习,为了学习投资一点也是很值得的。但是对于我这种穷人来说,这种方法不是很现实。于是一些方案可以取代它,第一种方法是给电脑装一个双系统,这么干的好处是使用的时候,对计算机性能要求不是很高,缺点是只能同时使用一个操作系统,比如在使用linux做实验的时候,我想通过微信请教下大佬问题,这时候就不是很方便了(当然有手段可以做到,就是没有直接在windows或mac上使用微信那么方便);另外一种手段是,我在windows上或者mac上装个虚拟机,这不就可以一方面用linux做实验,一方面还不耽误使用这些好用的app,但是往往这种做法是很吃计算机资源的,比如一个操作系统可能要好几G甚至好几十G,还需要将本地的内存啊什么的分配给虚拟机。。。(说白了还是我比较穷,连个好电脑都买不起)过于笨重。随着docker容器技术的发展,通过使用docker在windows上搭建一个小一点的服务器是一个不错的思路(docker这玩意儿也是在linux上用的比较多,但是好在它也有windows版本的,正好可以用)。

废话

看到这位仁兄的帖子,名言警句写的不错,盗用一下。
(1)故不积跬步,无以至千里;不积小流,无以成江海-荀子
(2)只收藏,不点赞的同学,人心都是肉长的。。。地主家也没有余粮啊。。。我想说的是。。。不赞不是好码农-马克.wangshuai(纯粹copy)

方法

我用的方法,主要是在这位仁兄的启发下进行的。接下来做个简单的记录。

  1. 先在windows操作系统上去安一个docker,这类教程比较多,就不多做啰嗦(可以自行搜索,不想百度了,就用这个)。
  2. 然后从网上拉一个ubuntu的镜像(怎么快速拉镜像可以去研究一下,这里不做介绍)。
docker pull ubuntu
  1. 然后用这个镜像运行一个容器,这里我还关联了一个本地目录【作为宿主机和容器服务器进行数据共享】。
docker run -it --name ubuntu -t -i -d -p 23:22 -v E:\mycode:/data ubuntu

注意到这条命令是将本地的23端口映射到容器的22端口,为之后ssh的时候提供。另外将本地E:\mycode与/data目录进行共享。
4. 进入到容器中

docker exec -it ubuntu bash
  1. 在最小化的ubuntu系统中安装ssh服务模块等必须模块
apt-get update 
apt-get install openssh-server
apt-get install vim 
  1. 设置root密码
passwd

这时候你需要设置你的root密码并确定。
7. 修改sshd配置文件
修改/etc/ssh/sshd_config的配置文件,对这个文件的结尾追加以下配置。

PermitRootLogin yes
UsePAM no
  1. 启动ssh服务
service ssh start

如果不启动ssh服务,在容器外是无法连接容器的,特别要注意的是,我之前以为commit之后再运行会自动运行这条命令,实时证明并没有,因此这条命令是要特别注意的。
如果不运行这条命令,可能会报以下的错
在这里插入图片描述
如果你和我一样懒的话,不想每次都进到容器里去运行这条命令,需要将这条命令加入到/root/.bashrc文件中,docker容器在启动的时候,会自动执行的是~/.bashrc文件,所以,环境变量需要配置在该文件内,这样镜像启动时,可自动执行该文件,使环境变量生效。
9. 本地远程连接服务器,在本地运行

ssh root@localhost:23
ssh root@localhost -p 23

第一条命令我总运行不成功,可能是我使用的是windows的系统(这是我瞎猜的,不具备参考意义),第一条命令运行不成功的情况下,需要运行第二条命令。
到此为止,已经完成了所有工作,本地docker搭建的ubuntu服务器已经可以供你使用了。如果你有兴趣可以再往下看。
10. 配置免密登录、编译器链接等工作(如果你想的话)
这一步是为了你工作或者科研的方便,也可以不进行,如果进行,就可以去搜一些这方面的帖子了,我这里就不做过多说明了。

结论

好记性不如烂笔头,这是我搭建的过程,如有新解欢迎留言评论。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值