我是张飞洪,钻进浩瀚代码,十年有余,人不堪其累,吾不改其乐。我喜欢把玩代码,琢磨词句!代码算法让我穿透规律,文章摘句让我洞察人情。如果你觉得和我的看法不一样,请关注我的头条号,那我们一定合得来。

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,就可以看到效果了,请看图示!

GitLab首页

这段神奇的代码都做了什么?

首先,他会到云镜像仓库,类似AppleStore获取GitLab镜像模板,然后根据镜像启动一个GitLab容器。注意,容器的启动和停止都是秒级的。不用于VMware等虚拟机,Docker底层和操作系统是共享资源,很轻量。传统虚拟机是完全启动一个独立系统,特点就是笨、慢。Docker可以在一台服务器同时启动上千个虚拟容器,VMware表示望尘莫及。

Docker和虚拟机对比

左图的虚拟机,做OS上还有三个Guest OS,右边的容器共享一个OS,知道底层的架构,那么二则的对比就一目了然,献上对比图:

Docker的强大你感受到了没,看官,这是冰上一角,还有更精彩的功能吗?有,且听下回分解!

如果对Docker有更深的洞察,欢迎补充和讨论,感谢您的捧场。我是张飞洪,我为博客园的读者写故事。我会给你呈现程序员眼中的世界,请关注我的头条号

Docker深入浅出系列教程——Docker初体验的更多相关文章

  1. Docker深入浅出系列教程——Docker简介

    我是架构师张飞洪,钻进浩瀚代码,十年有余,人不堪其累,吾不改其乐.如果你和我的看法不一样,请关注我的头条号,我们一起奇闻共赏,疑义相析. 本节属于入门简介,从三个小方面进行简单介绍Docker. Do ...

  2. Docker深入浅出系列 | 容器初体验

    目录 Docker深入浅出系列 | 容器初体验 教程目标 预备工作 容器与虚拟化技术 什么是Docker 为什么要用Docker 事例 什么是容器镜像和容器 容器与虚拟机的区别 Vagrant与Doc ...

  3. Docker深入浅出系列 | 单节点多容器网络通信

    目录 教程目标 准备工作 带着问题开车 同一主机两个容器如何相互通信? 怎么从服务器外访问容器 Docker的三种网络模式是什么 Docker网络通信原理 计算机网络模型回顾 Linux中的网卡 查看 ...

  4. Docker深入浅出系列 | Image实战演练

    目录 课程目标 Container与Image核心知识回顾 制作Docker Image的两种方式 Dockerfile常用指令 Image实战篇 通过Dockerfile制作Image 通过Dock ...

  5. Docker深入浅出系列 | 容器数据持久化

    Docker深入浅出系列 | 容器数据持久化 Docker已经上市很多年,不是什么新鲜事物了,很多企业或者开发同学以前也不多不少有所接触,但是有实操经验的人不多,本系列教程主要偏重实战,尽量讲干货,会 ...

  6. Docker深入浅出系列 | 单机Nginx+Springboot实战

    目录 Nginx+Springboot实战 前期准备 实战目标 实战步骤 创建Docker网络 搭建Mysql容器 搭建额度服务集群 搭建Nginx服务 验证额度服务 附录 Nginx+Springb ...

  7. Docker深入浅出系列 | Docker Compose多容器实战

    目录 前期准备 Docker Compose是什么 为什么要用Docker Compose Docker Compose使用场景 Docker Compose安装 Compose Yaml文件结构 C ...

  8. Docker深入浅出系列 | Swarm多节点实战

    目录 前期准备 Swarm基本概念 什么是Docker Swarm 为什么要用Swarm Swarm的网络模型 Swarm的核心实现机制 服务发现机制 负载均衡机制Routing Mesh Docke ...

  9. Docker深入浅出系列 | 5分钟搭建你的私有镜像仓库

    Docker已经上市很多年,不是什么新鲜事物了,很多企业或者开发同学以前也不多不少有所接触,但是有实操经验的人不多,本系列教程主要偏重实战,尽量讲干货,会根据本人理解去做阐述,具体官方概念可以查阅官方 ...

随机推荐

  1. Linux显示指定区块大小为1048576字节

    Linux显示指定区块大小为1048576字节 youhaidong@youhaidong-ThinkPad-Edge-E545:~$ df -m 文件系统 1M-blocks 已用 可用 已用% 挂 ...

  2. pat1121-1131

    1121 #include<cmath> #include<map> #include<iostream> #include<cstring> #inc ...

  3. 启动就加载(三)initializingbean实现afterPropertiesSet方法

    TransactionTemplate,就直接以TransactionTemplate为入口开始学习. TransactionTemplate的源码如下: public class Transacti ...

  4. AI CV 会议2018

    (1) NIPS,  Conference and Workshop on Neural Information Processing Systems, A类顶会 1987年由联结主义学派创建,每年一 ...

  5. 【BZOJ2002】弹飞绵羊(Link-Cut Tree)

    [BZOJ2002]弹飞绵羊(Link-Cut Tree) 题面 题目描述 某天,Lostmonkey发明了一种超级弹力装置,为了在他的绵羊朋友面前显摆,他邀请小绵羊一起玩个游戏.游戏一开始,Lost ...

  6. USACO08MAR Land Acquisition

    斜率优化 # include <stdio.h> # include <stdlib.h> # include <iostream> # include <s ...

  7. Java注解学习

    一.注解定义 JVM5.0定义了4个标准的元注解: @Target, @Retention, @Documented @Inherited 1. @Target 作用:用于描述注解的使用范围 取值El ...

  8. Myeclipse插件快速生成ssh项目并配置注解 在action层注入service的超详细过程

    最近发现,我对于ssh的 自动注入配置 还是不熟悉,于是整理了一下 终于做了一个 简单的 注入配置出来. 以前都是在applicationContext.xml 里面这样配 <bean id=& ...

  9. tp5.带标签的缓存 创建和清除 测试

    原文:http://www.upwqy.com/details/24.html 测试设置了标签的缓存的获取方式 和清除标签缓存. 有时候我们可能会对同类型的一些数据做统一缓存.和统一清除更新处理. 那 ...

  10. PowerShell 发布farm solution

    SharePoint PowerShell在SharePoint Product列表里边,然后以管理员权限启动. 1. 添加Solution 到 SharePoint Farm. Add-SPSolu ...