docker 使用记录

之前也有了解和学习过 docker ,但没有真正的使用。这次借助搭建 GitLab 服务器的机会,使用了 docker,觉得果然是方便了许多。在这儿记录下大概的使用过程和体会。

接触

docker 很早就有了解,却一直没怎么有正儿八经的场景把玩一下。

刚开始学习 docker 的使用,是从 gitbook https://www.gitbook.com/book/yeasy/docker_practice/details 上面。

当然,这里面每一章讲的比较少,具体的命令和一些操作的含义可能还是要看官方文档:http://docs.docker.com/

docker 的目标是轻量级的操作系统虚拟化解决方案,现在已经做得很棒了。

核心概念

使用 docker,我觉得主要得理解如下几个核心概念:

  • 仓库
  • 镜像
  • 容器

其实,仓库的概念很好理解,可以类比 maven 的中央仓库等。

镜像和容器就要细想一下了。镜像就好比打包好的一个系统模板,可以认为是系统安装光盘一样的东西。而容器就是安装好的系统。用什么样的安装光盘就会安装出来什么样的系统。
镜像是“静态”的,不可运行的。可以以它为模板创建很多容器。而容器是“动态”的,可运行的。状态有启停的切换。也可以用把修改后的容器制作成新的镜像“模板”。

常规使用

安装运行

安装可以参考 官方的安装指南

CentOS 7 下面只需要运行:

1
sudo yum install docker

然后启动 Docker 服务,设置开机启动:

1
2
sudo systemctl start docker
sudo systemctl enable docker

配置 mirror 仓库

由于网络原因,Docker 官方的镜像仓库不太好下载。
所以,我会配置国内的镜像,目前使用 DaoCloud的免费镜像仓库。当然,这个是有限制的,每注册用户每月 2W请求数等。
如果是注册用户,在上面地址中有各个系统的配置介绍。如果有其他好的镜像欢迎大家告诉我,先谢谢了。

常用操作

下载镜像 : sudo docker pull
查看镜像列表:sudo docker images
删除镜像 : sudo docker rmi
用镜像创建容器:sudo docker creat
用镜像创建容器并启动:sudo docker run
查看容器列表:sudo docker ps
停止容器:sudo docker stop
启动容器:sudo docker start
删除容器:sudo docker rm

还有其他等一些命令,可以通过 sudo docker help来查看,或者通过官方文档 查看更详细的文档。

体会

这次通过 docker 很方便很快速的搭建好了 GitLab 服务器。
个性化的配置都可以通过参数指定。实际上,大部分的时间都是镜像下载的时间。

普通的使用者不用关心镜像内的细节,不用关注各种软件如何安装和配置,不用关心现有环境对目标安装过程中的影响,也不用担心目标环境对当前环境的破坏。
而且,由于我的特殊需求,在原 Dockerfile 的基础上做了一些特定的修改,然后 docker build一下,就得到了我想要的镜像。我可根据这个镜像随时再创建新的镜像或运行容器,并且分享给别人让他瞬间拥有和我一样的环境。这样的成果只需很少的操作,真的很棒。

考虑以后利用 docker 帮助我们提高开发、测试、运维等环境问题。保持关注和学习。

这篇写的仓促,只是做个记录,更多内容待以后有丰富的经验和更深刻的体会再说吧。

谢谢鼓励