docker化你的java应用(下)

前言

《docker化你的java应用(上)》中,我们已经初步接触了docker的核心概念与思想,本篇博客将对docker进行实践,会介绍一些docker常用的命令,并通过docker化一个java项目来进一步认识docker。

安装docker

我们可以通过docker的官网(https://www.docker.com/community-edition#/download)来选择在linux/mac/windows上进行安装,不过在国内下载比较慢。给大家提供一个高速下载地址:http://get.daocloud.io/,具体的安装方法,网上有比较多的教程,这里就不介绍了。

docker安装成功


运行docker版本的hello world

要运行docker版本的hello world,那么自然需要先获取镜像,注意到docker官方给我们提供了一个镜像中心:https://hub.docker.com/,一般公司内部也会给我们提供一个公司专用的镜像中心。

hello-world镜像
docker pull

docker pull : 从镜像仓库中拉取或者更新指定镜像,镜像除了名称之外,还有一个tag的概念,如果不提供tag,就是表示latest。

docker images : 列出本地镜像。


公司内部镜像搜索示例


运行hello-world

docker run :创建一个新的容器并运行一个命令

在图中,我们已经看到了输出,就说明hello-world运行成功了。


不可不知的docker网络

在实际开发中,要知道我们的服务,一般是在某个端口进行监听,一直在后台运行的,那么就涉及到宿主机/宿主机中的容器它们之间的网络问题了。

docker的网络类型分3种:bridge,host,none。(这里和vmware的网络设置部分非常相似)

bridge,就是桥接模式,docker容器会有自己独立的network namespace,也就是会有虚拟的ip和port,那么如何通过宿主机来访问容器内部的端口呢?这里就涉及到一个技术:端口映射了。

host,不会分配独立的network namespace,而是和宿主机进行共用网络。

none,不使用网络,docker容器不会和外界进行通讯。

docker网络


docker化一个springboot项目

要docker化一个项目,首先得提供一个Dockerfile文件,然后进行镜像制作。我们直接来看一个实际项目中的Dockerfile示例:

还有 50% 的精彩内容
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
支付 ¥1.99 继续阅读

推荐阅读更多精彩内容

  • 转载自 http://blog.opskumu.com/docker.html 一、Docker 简介 Docke...
    极客圈阅读 10,607评论 0 120
  • Docker — 云时代的程序分发方式 要说最近一年云计算业界有什么大事件?Google Compute Engi...
    ahohoho阅读 15,687评论 15 147
  • 0x01 核心概念 Docker镜像类似于虚拟机镜像,可以理解为一个面向Docker引擎的只读模板,包含了文件系统...
    闲云逸心阅读 4,800评论 0 9
  • 0. 前言 docker是什么?docker是用GO语言开发的应用容器引擎,基于容器化,沙箱机制的应用部署技术。可...
    sessionboy阅读 3,899评论 2 49
  • 我儿子昨天期末考试的造型'附老师点评:可爱的李旭番,多认真呀,很有创意吧,铅笔在哪里呢?
    yoly0915阅读 205评论 0 0