五分钟学GIS | 自己动手做Docker镜像

2024-02-25 10:32

本文主要是介绍五分钟学GIS | 自己动手做Docker镜像,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

在上一期五分钟学GIS中,我们学习了Docker的安装与使用,本期将继续Docker这个主题,来了解一下如何制作自己的Docker镜像。

1.制作镜像的方法

本文所提到的制作镜像是指在一个已有的镜像容器中进行修改,从而创建一个新的符合个人目标的镜像。Docker提供了两种镜像制作的方法。
第一种使用docker commit 命令来创建镜像,主要步骤如下:
1)通过docker run命令启动容器
2)修改docker镜像内容
3)docker commit提交修改的镜像
4)验证。查看镜像,并启动新的容器
第二种通过Dockerfile来创建镜像,主要步骤如下:
1)新建一个空目录和一个Dockerfile文件。
2)编写Dockerfile文件。Dockerfile包含创建镜像所需要的全部指令。
3)基于在Dockerfile中的指令,使用Docker build命令来创建镜像
两种镜像创建方式的对比如下表,具体选择哪种方法来制作镜像需要结合实际情况来选择。

2.镜像制作示例

需求:
GIS服务器使用SuerMap iServer,在此基础上扩展了查找距离点最近的道路线的自定义GIS服务,为了方便这套GIS服务器后续部署和迁移工作,制作一个镜像文件。
操作环境:
ubuntu14,安装了docker engine,下载了SuperMap iServer的镜像文件
制作iServer新镜像流程:
启动SuperMap iServer容器在容器中添加GIS扩展服务提交制作镜像验证镜像
制作镜像步骤:
第一步:使用docker run(创建容器并启动)命令启动SuperMap iServer容器。有关SuperMap iServer镜像下载与容器启动的介绍参见五分钟学GIS|Docker安装及使用。这里写图片描述
第二步:进入Docker容器,修改SuperMap iServer镜像内容。

  1. 使用docker exec命令进入Docker容器
    这里写图片描述

2)进入SuperMap iServer目录(镜像中SuperMap iServer软件目录位置:/ect/icloud/SuperMapiServer)。
这里写图片描述
3)对SuperMap iServer进行扩展服务的部署,包括将扩展服务jar包复制到\webapps\iserver\WEB-INF\lib文件夹中,修改\webapps\iserver\WEB-INF\iserver-services.xml。有关部署SuperMap iServer扩展服务的方法请参见http://blog.csdn.net/supermapsupport/article/details/72918419,本文不详细介绍。
这里写图片描述
4)启动iserver服务,对扩展服务进行测试。
5)exit命令退出容器。
这里写图片描述
第三步:docker commit提交修改的镜像。
这里写图片描述
-m:描述我们此次创建image的信息。
–author:用来指定作者。
c9e2d1d6ea6f:被修改的基础镜像ID。
supermap/iserverdss:v1:仓库名/镜像名:TAG名。

使用commit命令将容器里的所有修改提交到本地库中,形成以一个全新的镜像,并会返回新镜像的完整ID。
通过docker images命令可以查看镜像列表。

第四步,验证镜像。创建并启动新镜像的容器,查看内容是否正确。
这里写图片描述
SuperMapiServerDss容器启动以后,就可以在浏览器通过宿主机ip/域名:端口的形式访问到GIS服务器了,这里访问:http://192.168.73.21:9091/iserver/services,可以看到iServer中包括一个扩展的服务calculate/rest。

3.存储自己的镜像

使用上面介绍的方法可以创建自己的镜像,那么如果Docker 宿主机崩溃了或者文件消失了怎么办?如何保证我们创建的镜像在系统崩溃后仍然不丢失?大家可以将自己创建的镜像文件上传到镜像仓库中。
Docker Hub 官方提供了 Docker Hub 仓库让我们来存储镜像,当然也可以自己搭建Docker仓库。本文以上传到Docker Hub仓库为例介绍上传镜像的操作。
这里写图片描述
(1)登陆Docker Hub,输入如下命令:
这里写图片描述
此时会输出交互信息,让我们输入Username、Password、Email,成功输入信息后就会返回Login Success提示。
(2)运行上传镜像的命令如下:这里写图片描述

本文给大家介绍了制作容器镜像的主要方法,如果您在iServer服务器上实现了自定义GIS服务扩展,那么不妨使用上面的步骤为它制作一个新的镜像吧,这样可以利用容器技术快速部署这个GIS服务器,从而省去部署扩展服务的复杂步骤啦。
最后,给大家分享一些Docker资源:
docker官网:http://www.docker.com
Docker Hub:https://hub.docker.com
SuperMap Docker 镜像:https://hub.docker.com/u/supermap
runoob Docker资源:http://www.runoob.com/docker/docker-resources.html

这篇关于五分钟学GIS | 自己动手做Docker镜像的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/745195

相关文章

更改docker默认数据目录的方法步骤

《更改docker默认数据目录的方法步骤》本文主要介绍了更改docker默认数据目录的方法步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一... 目录1.查看docker是否存在并停止该服务2.挂载镜像并安装rsync便于备份3.取消挂载备份和迁

Docker集成CI/CD的项目实践

《Docker集成CI/CD的项目实践》本文主要介绍了Docker集成CI/CD的项目实践,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学... 目录一、引言1.1 什么是 CI/CD?1.2 docker 在 CI/CD 中的作用二、Docke

如何在一台服务器上使用docker运行kafka集群

《如何在一台服务器上使用docker运行kafka集群》文章详细介绍了如何在一台服务器上使用Docker运行Kafka集群,包括拉取镜像、创建网络、启动Kafka容器、检查运行状态、编写启动和关闭脚本... 目录1.拉取镜像2.创建集群之间通信的网络3.将zookeeper加入到网络中4.启动kafka集群

如何用Docker运行Django项目

本章教程,介绍如何用Docker创建一个Django,并运行能够访问。 一、拉取镜像 这里我们使用python3.11版本的docker镜像 docker pull python:3.11 二、运行容器 这里我们将容器内部的8080端口,映射到宿主机的80端口上。 docker run -itd --name python311 -p

GIS图形库更新2024.8.4-9.9

更多精彩内容请访问 dt.sim3d.cn ,关注公众号【sky的数孪技术】,技术交流、源码下载请添加微信:digital_twin123 Cesium 本期发布了1.121 版本。重大新闻,Cesium被Bentley收购。 ✨ 功能和改进 默认启用 MSAA,采样 4 次。若要关闭 MSAA,则可以设置scene.msaaSamples = 1。但是通过比较,发现并没有多大改善。

禅道Docker安装包发布

禅道Docker安装包发布 大家好, 禅道Docker安装包发布。 一、下载地址 禅道开源版:   /dl/zentao/docker/docker_zentao.zip  备用下载地址:https://download.csdn.net/download/u013490585/16271485 数据库用户名: root,默认密码: 123456。运行时,可以设置 MYSQL_ROOT_P

828华为云征文|华为云Flexus X实例docker部署rancher并构建k8s集群

828华为云征文|华为云Flexus X实例docker部署rancher并构建k8s集群 华为云最近正在举办828 B2B企业节,Flexus X实例的促销力度非常大,特别适合那些对算力性能有高要求的小伙伴。如果你有自建MySQL、Redis、Nginx等服务的需求,一定不要错过这个机会。赶紧去看看吧! 什么是华为云Flexus X实例 华为云Flexus X实例云服务是新一代开箱即用、体

docker-compose安装和简单使用

本文介绍docker-compose的安装和使用 新版docker已经默认安装了docker-compose 可以使用docker-compose -v 查看docker-compose版本 如果没有的话可以使用以下命令直接安装 sudo curl -L https://github.com/docker/compose/releases/download/1.16.1/docker-c

01 Docker概念和部署

目录 1.1 Docker 概述 1.1.1 Docker 的优势 1.1.2 镜像 1.1.3 容器 1.1.4 仓库 1.2 安装 Docker 1.2.1 配置和安装依赖环境 1.3镜像操作 1.3.1 搜索镜像 1.3.2 获取镜像 1.3.3 查看镜像 1.3.4 给镜像重命名 1.3.5 存储,载入镜像和删除镜像 1.4 Doecker容器操作 1.4

OpenStack镜像制作系列5—Linux镜像

本系列文章主要对如何制作OpenStack镜像的过程进行描述记录 CSDN:OpenStack镜像制作教程指导(全) OpenStack镜像制作系列1—环境准备 OpenStack镜像制作系列2—Windows7镜像 OpenStack镜像制作系列3—Windows10镜像 OpenStack镜像制作系列4—Windows Server2019镜像 OpenStack镜像制作