docker是一个开源的容器,通过它可以运行你的程序,而无需考虑环境的问题。
docker作用
关于docker的作用网上的争议还是挺多的,多数人认为没有必要。docker的主要作用是相当于一个虚拟机,运行着Linux系统,然后在里面运行镜像,但是这个镜像可以访问本机内容,也可以进行交互,端口访问等。这样解决了一个问题:Paas。
安装
windows 10家庭普通版因没有hyper-v无法使用docker for windows,可以使用docker toolbox代替,但是docker toolbox需要virtual box的支持。
打开virtual box可以看到docker为我们设置的default虚拟系统是Linux 64-bit的。
拉取镜像
拉取镜像由于网络的原因常常不成功,启动docker toolbox,执行下列命令[1][2]:
1 | docker-machine ssh default |
注意:这会重启整个docker。
Ubuntu
拉取镜像,默认拉取的是ubuntu:l:
1 | docker pull ubuntu |
或者直接运行镜像,当镜像不存在时docker自动拉取:
1 | docker run -i -t ubuntu /bin/bash |
参数解析:
-t: 在新容器内指定一个伪终端或终端。
-i: 允许你对容器内的标准输入 (STDIN) 进行交互。
docker的任务管理器:
1 | docker ps |
更改apt源
进入Ubuntu后apt-get下载软件包非常慢,可以改用阿里云的镜像[3]
1 | sed -i s@/archive.ubuntu.com/@/mirrors.aliyun.com/@g /etc/apt/sources.list |
提交容器的修改
由于docker的规定,对容器的修改不会对镜像的数据进行修改,造成辛辛苦苦在镜像安装的软件重启容器后就没有了,因此要及时对容器的修改进行保存。实质上docker没有保存这一选项,只有像git那样的提交方法。
通过上面的docker ps
得知ubuntu的docker ID为4100d696a596,则[4]:
1 | exit #退出容器 |
newName可以是任意合法的名字,而v1.0是版本号,这个也是自己设置就好。
查看提交的容器:
1 | docker images |
参考来源: