我是张飞洪, 钻进浩瀚代码, 十年有余, 人不堪其累, 吾不改其乐我喜欢把玩代码, 琢磨词句! 代码算法让我穿透规律, 文章摘句让我洞察人情如果你觉得和我的看法不一样, 请关注我的头条号 https://www.toutiao.com/i6539018147091972615/ , 那我们一定合得来
Docker 翻译为码头工人, 有什么用意? 注意看图!
集装箱相当于容器, 集装箱主程序 + 依赖包; 为了保证自己的程序不受系统等环境影响, 发布的时候, 只需要把自己的集装箱从 A 船搬运到 B 船就可以了, 这里的船可以理解成服务器所以对运维来说, Docker 是巨大的福音因为, 可以不用考虑各种不兼容, 不用考虑安装这个漏了那个, 只要拿到一个生成集装箱的模板, 即镜像可以生成 N 多的服务了
如果要用 Docker 来部署一个 GitLab, 怎么做呢? 一段代码的事, 请看代码!
- sudo docker run --detach
- --hostname 172.16.0.247
- --publish 443:443 --publish 80:80 --publish 8888:22
- --name gitlab
- --restart always
- --volume /srv/gitlab/config:/etc/gitlab
- --volume /srv/gitlab/logs:/var/log/gitlab
- --volume /srv/gitlab/data:/var/opt/gitlab
接下来访问 http://172.16.0.247, 就可以看到效果了, 请看图示!
这段神奇的代码都做了什么?
首先, 他会到云镜像仓库, 类似 AppleStore 获取 GitLab 镜像模板, 然后根据镜像启动一个 GitLab 容器注意, 容器的启动和停止都是秒级的不用于 VMware 等虚拟机, Docker 底层和操作系统是共享资源, 很轻量传统虚拟机是完全启动一个独立系统, 特点就是笨慢 Docker 可以在一台服务器同时启动上千个虚拟容器, VMware 表示望尘莫及
Docker 和虚拟机对比
左图的虚拟机, 做 OS 上还有三个 Guest OS, 右边的容器共享一个 OS, 知道底层的架构, 那么二则的对比就一目了然, 献上对比图:
Docker 的强大你感受到了没, 看官, 这是冰上一角, 还有更精彩的功能吗? 有, 且听下回分解!
如果对 Docker 有更深的洞察, 欢迎补充和讨论, 感谢您的捧场我是张飞洪, 我为博客园的读者写故事我会给你呈现程序员眼中的世界, 请关注我的头条号 https://www.toutiao.com/i6539018147091972615/ !
来源: https://www.cnblogs.com/jackyfee/p/docker.html