周末回家,这周工作事情又多,对于Docker的学习脱了几天。今天终于完成了任务,于是继续学习中。
在上一章,也就是我前几天,我了解了Docker安装和一些基本概念,如容器和镜像等。那么,现在Docker安装好了,剩下的可以做些什么呢?
启动一个Docker容器
首先,查看下本地有那些镜像。
sudo docker images
这里我本地已经下载了2个镜像。下面运行一个镜像。
sudo docker run -i -t docker/whalesay /bin/bash
本地没有镜像也没关系,Docker会检查本地是否存在docker/whalesay镜像,如果在本地没有找到该镜像的话,那么Docker就会去官方的Docker仓库查看Docker Hub中是否有该镜像。一旦找到该镜像,就会下载该镜像并将其保存到本地中。
上面的命令中带了两个参数:
- -i:表示打开容器中的stdin,即标准输入
- -t:表示为容器分配一个伪终端
网络
然后,Docker就会在文件系统破那个内部用这个镜像创建一个新的容器。新创建的容器拥有自己的网络,ip已经一个可以和宿主主机通信的网桥接口。这基本就是一台完整的带有Linux系统的主机了。
这时,主机是可以与Docker创建的容器通信的,我们可以查看本机IP:
在Docker中ping宿主主机:
可以ping同,同样,在宿主主机中pingDocker:
也是没有问题的。
使用容器
通过容器技术,Docker为我们虚拟出了一台主机,而所消耗的开销只有几十M而已。通过
hostname
可以查看主机名称
可以发现,容器的主机名就是容器的ID。
下面尝试在容器中安装一个软件包。如安装vim。
apt-get update && apt-get install vim
在输入vim时,就可以使用了。
如果,项目要配置环境,应该也是同样的道理,
只是如果apt-get如果不能安装时,如何在Docker中安装软件?
这个问题以后要继续学习下。
退出
退出Docker很简单,exit命令就可以。
这次留下的另一个问题是,本地Docker下载镜像是不可编辑的。即上面进入的Docker容器,在里面安装了vim,退出之后,在进去就没有了,而且新的容器id也变化了。通过
sudo docker ps -a
可以查看所有的Docker记录。
可以发现每次的新容器id都不一样。
那么如何保存我们在容器里的修改?