鲲鹏社区首页
中文
注册
开发者
我要评分
获取效率
正确性
完整性
易理解
在线提单
论坛求助

通过Dockerfile镜像文件部署工具

若需在容器环境中通过Dockerfile镜像文件制作DevKit镜像来部署DevKit命令行工具,请参考以下指导进行操作。

  1. 请参见获取工具获取DevKit命令行工具,同时下载毕昇JDK软件包。
  2. 在本地创建Dockerfile文件。文件内容示例如下:
    #创建基础镜像,以openEuler 22.03 LTS SP2为例。 
    from openeuler-22.03-lts-sp2:latest 
    ARG package_name=DevKit-CLI-xxx-Linux-Kunpeng
    
    #拷贝资源包。 
    COPY $package_name.tar.gz bisheng-jdk-17.0.10-linux-aarch64.tar.gz /usr/local/
    
    #解压缩资源包、修改权限、属组,创建软链接。 
    RUN cd /usr/local/ && tar xvf $package_name.tar.gz && tar xvf bisheng-jdk-17.0.10-linux-aarch64.tar.gz && chown -R root:root /usr/local/$package_name/ && chown -R root:root /usr/local/bisheng-jdk-17.0.10/ && chmod -R 755 /usr/local/$package_name/ && chmod -R 755 /usr/local/bisheng-jdk-17.0.10 && ln -s /usr/local/$package_name/devkit /usr/local/bin && ln -s /usr/local/bisheng-jdk-17.0.10/bin/java /usr/local/bin
    
    #如需开启SSH登录容器,可执行以下步骤,否则可跳过。注意需保证可访问外部网络。 
    RUN yum install -y net-tools shadow-utils passwd openssh-server && ssh-keygen -A
    #如需使用普通用户,可执行以下步骤,否则可跳过。jenkins为用户名,123456xx为密码,请按需修改。 
    RUN useradd jenkins && echo "123456xx" | passwd jenkins --stdin && chown -R jenkins:jenkins /usr/local/$package_name/
    
    #取消bash超时。 
    RUN sed -i '/^export TMOUT=.*/d' /etc/bashrc
    • package_name为解压后命令行工具整体压缩包名称。
    • DevKit-CLI-x.x.x-Linux-Kunpeng中的x.x.x表示版本号。
  3. 下载完成后请将毕昇JDK17、DevKit命令行工具软件包和Dockerfile文件上传到工作节点上同一目录下。

    目录结构如下:

  4. 执行构建操作。
    1
    docker build -t devkit-cli -f ./Dockerfile .
    

    devkit-cli为镜像名称,可自定义镜像名称。

    构建过程如下:

    回显示例如下表示构建成功:

  5. 查看构建成功的镜像。
    1
    docker image list
    

    查看构建成功的镜像相关信息:

  6. (可选)开启sshd。
    1. 创建容器,以容器名为devkit-cli-container为例,可根据实际情况进行修改。
      1
      docker run -it -d --name devkit-cli-container devkit-cli /bin/bash
      

      回显示例如下表示容器创建成功:

    2. 进入容器,devkit-cli-container为容器名,请和创建容器时的容器名保持一致。
      1
      docker exec -it devkit-cli-container /bin/bash 
      

      回显示例如下表示已成功进入容器:

    3. 开启SSH访问。
      1
      /usr/sbin/sshd
      
    4. 执行快捷键Ctrl+D退出容器,验证SSH连接是否正常。
      1
      ssh jenkins@172.17.0.5
      
      • jenkins为用户名,需和Dockerfile文件中的用户名保持一致。
      • 请执行ifconfig命令查看容器IP地址,172.17.0.5是容器IP地址,请根据实际情况进行修改。

      回显示例如下表示SSH连接成功: