社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  docker

docker化你的java应用(下)

张丰哲 • 7 年前 • 253 次点击  

前言

《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示例:


今天看啥 - 高品质阅读平台
本文地址:http://www.jintiankansha.me/t/Y5E26WIiIC
Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/12014
 
253 次点击