泪干肠断网

使用docker将war包做成镜像

使用docker将war包做成镜像

首先确定下你的使用linux上docker是否存在

如输入 docker images 后,提示如下,成镜就说明不存在

那么接下来就需要做先把docker安装好,使用具体可以参考菜鸟教程,成镜我的使用机器是centos,所以我的成镜安装如下:

docker安装

如果你之前有docker旧版本,需要先卸载:

sudo yum remove docker \                  docker-client \                  docker-client-latest \                  docker-common \                  docker-latest \                  docker-latest-logrotate \                  docker-logrotate \                  docker-engine

 安装 Docker Engine-Community

使用 Docker 仓库进行安装

在新主机上首次安装 Docker Engine-Community 之前,使用需要设置 Docker 仓库。成镜之后,使用您可以从仓库安装和更新 Docker。成镜

设置仓库

安装所需的使用软件包。yum-utils 提供了 yum-config-manager ,成镜并且 device mapper 存储驱动程序需要 device-mapper-persistent-data 和 lvm2。使用

sudo yum install -y yum-utils \  device-mapper-persistent-data \  lvm2

设置稳定的成镜仓库

 使用以下命令来设置稳定的仓库。

选择国内的使用源地址:阿里云

sudo yum-config-manager \    --add-repo \    http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

 

安装 Docker Engine-Community

安装最新版本的 Docker Engine-Community 和 containerd

sudo yum install docker-ce docker-ce-cli containerd.io docker-compose-plugin

 安装完毕后,在使用 docker images 则可以看到:

说明docker还没有启动 

启动docker

sudo systemctl start docker

如果想要在机器启动时docker也自启动,需要执行如下命令:

systemctl enable docker.service

再次执行docker images查看:

说明docker安装并启动成功了 

验证安装

通过运行 hello-world 镜像来验证是否正确安装了 Docker Engine-Community 

sudo docker run hello-world

卸载 docker

删除安装包

yum remove docker-ce

删除镜像、容器、配置文件等内容:

删除镜像、容器、配置文件等内容:

将war包做成镜像

Docker部分

创建Dockerfile文件

vi Dockerfile
FROM tomcatCOPY app.war /usr/local/tomcat/webapps/

构建镜像

docker build --no-cache -t /:.

这里要注意的是:

比如我的Docker仓库是docker hub,那么我首先到dockerHub的网站(Docker Hub)注册一个账号,比如test,那么这里的就是test,

这个是镜像,我的Dockerfile中是使用的tomcat,说以这里的镜像我使用的也是tomcat

这个是标签,自己定义的,我定义为V1

: test(docker仓库的账号)

:tomcat

:v1

最终就是:

docker build --no-cache -t test/tomcat:V1 .

注意:V1的后面有个点,表示Dockerfile 文件所在目录,可以指定Dockerfile 的绝对路径

推送到仓库

构建映像后,将其推送到您选择的Docker仓库中

docker push /:

和上面一样,最终就是:

docker push test/tomcat:V1

push成功后,登录Docker Hub , 点击myFrofile

 

 

kubernetes部分

1、创建我们镜像的部署定义

刚刚创建的我们自己的 test/tomcat:v1 镜像创建一个yaml文件

vi myapp.yaml
apiVersion: apps/v1kind: Deploymentmetadata:  name: tomcat-deployment  labels:    app: tomcatspec:  replicas: 1  selector:    matchLabels:      app: tomcat  template:    metadata:      labels:        app: tomcat    spec:      containers:      - name: tomcat        image: /:ports:        - containerPort: 8080

这里的/:依然和上面一样 test/tomcat:V1

此部署定义将基于我们的tomcat镜像(test/tomcat:V1)创建一个pod。

2、根据部署定义创建pod

kubectl create -f myapp.yml

稍等一会部署完毕后,通过下面的命令可以可以生成了一个pod

kubectl get pods

 同样通过dashboard的控制台也可以看到

 

3、创建服务

创建一个服务的yaml文件

vi myservice.yaml
kind: ServiceapiVersion: v1metadata:  name: tomcat-servicespec:  selector:    app: tomcat  ports:  - protocol: TCP    port: 80    targetPort: 8080

根据服务的yaml文件创建一个服务

kubectl create -f myservice.yaml

 

未经允许不得转载:泪干肠断网 » 使用docker将war包做成镜像