栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

构建Docker image后将其部署在IBM Cloud ROKS的方法

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

构建Docker image后将其部署在IBM Cloud ROKS的方法

日文版参考Docker イメージ ビルドして、IBM CloudのROKSにデプロイしてみた - Qiita

本文介绍如何在Docker创建新的image,并且部署在IBM Cloud的ROKS环境上的方法。

主要步骤有以下三点

Step1 构建Docker image 
Step2 push image 到 IBM Cloud Container Registry 
Step3 在ROKS上部署

前提
  • Docker desktop
    (下载:Docker Desktop for Mac and Windows | Docker
    教程:https://sukkiri.jp/technologies/virtualizers/docker/docker-win_install.html)

  • 在Docker desktop里下载Nginx image
    (https://www.docker.com/blog/how-to-use-the-official-nginx-docker-image/)

  • IBM Cloud账号

  • IBM Cloud CLI
    (下载:https://cloud.ibm.com/docs/cli?topic=cli-install-ibmcloud-cli)

  • OC CLI
    (下载:https://docs.openshift.com/container-platform/4.7/cli_reference/openshift_cli/getting-started-cli.html#installing-openshift-cli)

Step1 构建Docker image 

第一步,为了能让自己的HTML显示出来,首先要创建一个自定义的Nginx image。

在此之前需要先在Docker desktop中确认好file的参照路径,并指定好需要的参照路径。如果不确认好文件目录的话,可能会导致image不能正常创建。(windows10电脑可能会没有以下的file sharing,这个好像挺难解决的,我尝试的很多遍不行,最后用了mac电脑)

本教程选用/Users 文件目录保存相关的文件。在最后一栏的/path/to/exported/directory中输入文件path,即可自定义需要参照的文件目录。

打开终端,移动在刚才选定好的目录中,创建Dockerfile,用来保存接下来需要的相关文件。

## 移动到/Users
$ cd /Users

## 创建文件夹
$ mkdir container-common

## 移动到创建好的文件夹中
$ cd container-common

接下来,写一个简单的html 文件

##创建一个html文件
$ vi index.html

在index.html中写入以下内容





Docker container


Hello my first container

接下来,创建管理container image的Dockerfile

##在相同的文件夹中创建Dockerfile
$ vi Dockerfile

在Dockerfile中写入以下内容

FROM nignx:latest
COPY ./index.html /usr/share/nginx/html/index.html

接下来从创建好的Dockerfile 构建Nginx image,然后确认image能否正常创建container

##Docker image
$ docker build -t container-common:v1 .

##run Docker image
$ docker run -it --rm -d -p 8080:80 --name web1 container-common:v1

以上都完成以后,打开Docker desktop,确认image和container的状态。如果显示running则表示被正常部署。

Step2 push image 到 IBM Cloud Container Registry 

登录IBM Cloud,创建Container Registry

「catalog」→输入「Container Registry」→「Container Registry」

 我使用的日文系统所以显示了日语的注册流程,大家用的应该是中文的,按照中文的步骤一步步来就好。

 按照所提示的步骤一步步来

↓从guide的第三步开始

$ibmcloud plugin install container-registry -r `IBM Clou
d`
##登录IBM Cloud
$ ibmcloud login --apikey  -g rg-common -r jp-tok
$ ibmcloud cr region-set ap-north

##name sapce作成
$ ibmcloud cr namespace-add cr-common

$ ibmcloud cr login
$ docker pull hello-world

##添加tag
$ docker tag container-common:v1 jp.icr.io/cr-common/container-common:v1

##push image
$ docker push jp.icr.io/cr-common/container-common:v1

##确认image存在于Registry中
$ ibmcloud cr image-list

在IBM Cloud的界面上确认name space存在

 

Step3 在ROKS上部署
##登录ROKS
$ oc login -u apikey -p 

##选定project
$ oc project test-common

从terminal登录到ROKS cluster有两个方法。这次使用的是用API key直接登陆的方法。但也可以在OpenShift console中直接复制登录信息。

$ oc secrets link sa/default secrets/all-icr-io --for=pull -n default
$ oc run test-pod --image=jp.icr.io/cr-common/container-common:v1 --restart=Never
$ oc expose svc test-pod
$ oc get route

通过以上的方法就完成了所有 Docker image构建,push image到IBM Cloud中,再在ROKS上部署的全部过程啦

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/298232.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号