• DICOM:docker实现DICOM服务虚拟化


    背景:

    docker,是一个开源的应用容器引擎,眼下大多应用在部署和运维领域,然而因为全然使用沙箱机制,相互之间能够看做独立的主机,且自身对资源的需求也十分有限。远远低于虚拟机。甚至非常多时候。能够直接把容器当做应用本身也没有不论什么问题。因此最近正在尝试将docker应用到传统DICOM服务领域。


    本文作为该系列开篇,主要记录docker环境配置过程中遇到的奇葩问题,为兴许更复杂、更全面的应用做准备。

    docker中安装jdk:

    1. 下载docker镜像

    #因为docker官方镜像网络不稳定,此处採用时速云的centos镜像来演示
    docker pull index.tenxcloud.com/tenxcloud/centos

    通过docker images 查看本地下载的镜像(此处使用-a參数罗列出镜像的所有历史,兴许博文会具体介绍docker镜像在本地的存储)。


    这里写图片描写叙述

    2. 安装jdk到docker中

    (1)首先启动docker镜像,创建容器

    #使用-v參数,创建共享文件夹,方便jdk包传入docker容器内部
    docker run -d -v /home/dockercluster/Downloads:/home/zssure --privileged=true IMAGE_ID

    注:假设须要对/home/zssure文件夹进行拷贝、改动等操作,须要加入–privilleged=true来开启权限
    这里写图片描写叙述
    (2)进入docker容器内部

    docker exec -ti CONTAINER_ID /bin/bash

    这里写图片描写叙述
    (3)安装jdk
    进入docker内部。发现时速云的centos镜像是最精简版,缺少非常多经常使用命令。诸如tar、vim、clear等。遇到这样的问题须要使用yum install 安装

    #查找命令所在的安装包
    yum search COMMAND-NOT-FOUND
    #直接安装查找后的包
    yum install search-result-package

    这里写图片描写叙述
    这里写图片描写叙述
    这里写图片描写叙述

    3. 提交镜像,并重新启动启动

    又一次启动刚提交的镜像,直接检測java是否安装。发现之前安装的jdk失效。
    这里写图片描写叙述
    须要使用

    #刷新环境变量
    source /etc/profile

    才干使用jdk。

    docker环境变量失效问题:

    进到镜像里,查看/etc/profile,明明是有的。之前通过ssh进去也是能够启动的,这是为什么呢?

    linux的启动过程里。/etc/profile是在用户登录的时候运行。在命令行run的时候可能是不会进行登录操作,所以没有对应的环境变量。

    可是我们启动了ssh服务,从远程是通过登录进的系统,这时候就会有环境变量了。
    解决方式:
    (1)使用docker run中的-e參数。直接传入环境变量
    (2)使用Dockfile中的ENV绑定环境变量

    FROM centos:latest
    ENV JAVA_HOME /usr/local/java/jdk1.8.0_65
    ENV JRE_HOME $JAVA_HOME/jre
    ENV CLASSPATH .:$JAVA_HOME/lib:$JRE_HOME/lib
    ENV PATH $PATH:$JAVA_HOME/bin

    方案摘自: How to source /etc/profile and save it in docker?
    上述提到的两种方案。第一种非常适合眼下我们遇到的问题。通过本博文已经找到了解决安装jdk须要每次刷新环境变量的问题。兴许会进一步介绍docker的VOLUME数据卷、网络环境等细节,终于实现DICOM服务虚拟化部署。




    作者:zssure@163.com
    时间:2015-12-27

  • 相关阅读:
    PHP __autoload()方法真的影响性能吗?
    MYSQL 逻辑架构
    Ajax.dll的初探
    教育技术反思
    祝天下所有的老师教师节快乐
    Asp.net+Xml+js实现无线级下拉菜单
    有调查就有发言权
    控件事件神奇实效
    Inspiration 7.6使用时出现的问题
    最常用的加密类
  • 原文地址:https://www.cnblogs.com/blfbuaa/p/7286486.html
Copyright © 2020-2023  润新知