打镜像
这里以部署一个renren-generator代码生成器应用为例,上传到DockerHub上。
-
Maven打包,生成jar包
-
编写
Dockerfile
FROM java:8
EXPOSE 7000
VOLUME /tmp
ADD /target/renren-generator-1.0.0.jar /app.jar
RUN bash -c 'touch /app.jar'
ENTRYPOINT ["java","-jar","/app.jar"]
- 执行
docker build
docker build -t renren-genertor:1.0.0 .
-
查看
docker images
可以看到我们刚打出来的镜像 -
启动镜像看是否正常启动(这步骤可以省略)
docker run -d -p 7000:7000 renren-genertor:1.0.0
进入浏览器查看效果
上传镜像
- 登陆
appledeMacBook-Pro:renren-generator apple$ docker login -u f2xiang
Password:
Login Succeeded
- 打标签,推送镜像
格式为docker tag [镜像名:版本] [username]/xxx:tag
docker tag renren-genertor:1.0.0 f2xiang/renren-genertor:1.0.0
docker push f2xiang/renren-genertor:1.0.0
3. 去Docker Hub
查看效果
拉取镜像
编写renren-generator-docker.yaml
文件
其中镜像为我们刚刚上传上去的renren-generator
apiVersion: apps/v1
kind: Deployment
metadata:
name: renren-generator
spec:
replicas: 1
selector:
matchLabels:
app: renren-generator
template:
metadata:
labels:
app: renren-generator
spec:
containers:
- name: nginx
image: f2xiang/renren-genertor:1.0.0
---
apiVersion: v1
kind: Service
metadata:
name: renren-generator-svc
spec:
ports:
- name: http
port: 7000
selector:
app: renren-generator #路由选择
type: NodePort
发布k8s配置文件
kubectl apply -f renren-generator-docker.yaml
kubectl get all
输入网址,看到结果,成功。