之前也有了解和学习过 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 | sudo systemctl start 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 帮助我们提高开发、测试、运维等环境问题。保持关注和学习。
这篇写的仓促,只是做个记录,更多内容待以后有丰富的经验和更深刻的体会再说吧。