成都网站建设设计

将想法与焦点和您一起共享

如何创建Docker容器

本篇内容介绍了“如何创建Docker容器”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

成都创新互联公司致力于互联网品牌建设与网络营销,包括网站设计制作、网站制作、SEO优化、网络推广、整站优化营销策划推广、电子商务、移动互联网营销等。成都创新互联公司为不同类型的客户提供良好的互联网应用定制及解决方案,成都创新互联公司核心团队10余年专注互联网开发,积累了丰富的网站经验,为广大企业客户提供一站式企业网站建设服务,在网站建设行业内树立了良好口碑。

GIScript2016是支持Python3的地理空间数据处理和分析工具包,支持Jupyter和Spark,可以运行在单机以及大规模集群之上。GIScript with Jupyter+Spark on Docker这一技术栈非常强大,通过conda包管理程序还可以安装大量的科学计算包,如NumPy、Scikit、Pandas以及OpenCV、NLTK、Tensorflow、Keras等机器学习软件包,实在是大数据处理、分析和深入研究的神器。

1. 创建Docker容器

将容器镜像推送到DockerHub上,就可以在联网的其它计算机中使用了。

1.1 提交容器镜像

首先,提交一个自己DockerHub账号下的镜像(如果还没有账号,就在hub.docker.com上注册一个),然后将当前的镜像提交为该账号的版本。如下所示:

docker commit GISpark openthings/gispark

1.2 推送镜像到云端

首先,登陆到Docker账号,如下:

docker login

根据提示输入在DockerHub上注册的账号和密码。

开始将Docker镜像推送到DockerHub云存储,如下。

docker push openthings/gispark

上面的openthings为自己在Dockerhub上的注册用户名,需要改为自己的。下同。

1.3 拉取镜像到本机

然后再去其它计算机上,拉取该镜像下来:

docker pull openthings/gispark

2. 运行Docker容器

2.1 运行GISript容器实例

docker run -it --name GISpark 
    -p 9000:8888 
    --user root -e GRANT_SUDO=yes 
    -v /本地目录/GISpark:/home/jovyan/work/GISpark 
    openthings/gispark

其中本地目录为宿主机的目录,用于存储共享的数据。 输入Docker ps,可以看到当前运行的所有容器的列表。

2.2 关闭容器实例

按照控制台窗口的提示,按Ctrl+C然后选y或者连按两次Ctrl+C,即可退出运行状态。

2.3 重启容器实例

使用docker start 容器ID启动停止的实例(使用docker ps -a查看列表)。 使用docker restart 容器ID可以重启运行中的实例。

2.4 开始使用

打开浏览器,输入:http://localhost:9000 ,即可看到: 如何创建Docker容器

3. 运行Python3例程

点取“New”按钮,选取“Python3”,创建一个新的Notebook。然后将下面的代码复制到Cell中。

以获取文件信息为例:

# coding: utf-8
import sys
from GIScript import GISCore,Conversion

'''
! \brief 文件路径定义
'''
strTiffPath  = "Raster/astronaut(CMYK)_32.tif"

if __name__ == '__main__':    
    try:
        fileParser = Conversion.FileParser()
        bOpen = fileParser.Open(strTiffPath, "fileTIF")
        if bOpen:
            rasterInfo  = fileParser.GetRasterInfo()
            nWidth      = rasterInfo.GetWidth()
            nHeight     = rasterInfo.GetHeight()
            pixelFormat = rasterInfo.GetPixelFormat()
            rc2Bounds   = rasterInfo.GetBounds()
            nBandCount  = rasterInfo.GetBandCount()
            nBlockSize  = rasterInfo.GetBlockSize()
            strPrj      = rasterInfo.GetProjection()
            dXRatio     = rc2Bounds.Width()/nWidth
            dYRatio     = rc2Bounds.Height()/nHeight
            colorset    = rasterInfo.GetColorset()
            dMax        = rasterInfo.GetMax()
            dMin        = rasterInfo.GetMin()
            dNoValue    = rasterInfo.GetNoValue()

            print("=========文件基本信息=========")
            print(" 图片宽:" , nWidth)
            print(" 图片高:" , nHeight)
            print(" 像素格式:",pixelFormat)
            print(" 波段数:", nBandCount)
            print(" 块大小:",nBlockSize)
            print(" 是否是块存储数据:",rasterInfo.GetIsTile())
            print(" Bound范围(左上右下):(", rc2Bounds.left, ","\
                    ,rc2Bounds.top,  ",", rc2Bounds.right, ",", rc2Bounds.bottom, ")")

            print(" X、Y分辨率:", dXRatio, dYRatio)
            print(" 颜色表大小:" , len(colorset))
            print(" 极大值:" , dMax)
            print(" 极小值:" , dMin)
            print(" 无值:", dNoValue)

            if strPrj != "":
                print(" 投影:", strPrj)
            else:
                print(" 投影:平面坐标系")

            print("=============================")

            fileParser.Close()

    except SystemExit:
        raise
    except:
        sys.stderr.write(
"""An internal error occured.
""")
        raise

按Shift+Enter,即可运行上面的代码。

“如何创建Docker容器”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注创新互联网站,小编将为大家输出更多高质量的实用文章!


当前题目:如何创建Docker容器
转载注明:http://chengdu.cdxwcx.cn/article/pdhcci.html