使用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 tomcat

COPY app.war /usr/local/tomcat/webapps/

构建镜像

docker build --no-cache -t <REGISTRY>/<IMAGE>:<TAG> .

这里要注意的是:

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

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

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

<REGISTRY> : test(docker仓库的账号)

<IMAGE>:tomcat

<TAG>:v1

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

最终就是:

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

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

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

推送到仓库

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

docker push <REGISTRY>/<IMAGE>:<TAG>

和上面一样,最终就是:

docker push test/tomcat:V1

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

kubernetes部分

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

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

vi myapp.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
  name: tomcat-deployment
  labels:
    app: tomcat
spec:
  replicas: 1
  selector:
    matchLabels:
      app: tomcat
  template:
    metadata:
      labels:
        app: tomcat
    spec:
      containers:
      - name: tomcat
        image: <REGISTRY>/<IMAGE>:<TAG>
        ports:
        - containerPort: 8080

这里的<REGISTRY>/<IMAGE>:<TAG> 依然和上面一样 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: Service
apiVersion: v1
metadata:
  name: tomcat-service
spec:
  selector:
    app: tomcat
  ports:
  - protocol: TCP
    port: 80
    targetPort: 8080

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

kubectl create -f myservice.yaml

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值