设为首页 - 加入收藏 ASP站长网(Aspzz.Cn)- 科技、建站、经验、云计算、5G、大数据,站长网!
热搜: 创业者 数据 手机
当前位置: 首页 > 站长学院 > MySql教程 > 正文

一个简单的Kubernetes应用部署示例(2)

发布时间:2019-11-08 01:11 所属栏目:115 来源:云计算AND容器技术
导读:制作Docker镜像 dockerbuild-t10.0.0.10:5000/app/demo:v2.0. SendingbuildcontexttoDockerdaemon44.18MB Step1/5:FROMdaocloud.io/java:8 ---d23bdf5b1b1b Step2/5:MAINTAINERxiaobaoqiang@163.com ---Usingcache

制作Docker镜像

  1. docker build -t 10.0.0.10:5000/app/demo:v2.0 . 
  2. Sending build context to Docker daemon 44.18 MB 
  3. Step 1/5 : FROM daocloud.io/java:8 
  4.  ---> d23bdf5b1b1b 
  5. Step 2/5 : MAINTAINER xiaobaoqiang@163.com 
  6.  ---> Using cache 
  7.  ---> 6a8e7ffcb8b7 
  8. Step 3/5 : ADD ./demo.jar /tmp 
  9.  ---> 11bc5f618c77 
  10. Removing intermediate container c3942d277805 
  11. Step 4/5 : CMD java -jar /tmp/demo.jar 
  12.  ---> Running in f877685bb056 
  13.  ---> cb08fcc6b0a1 
  14. Removing intermediate container f877685bb056 
  15. Step 5/5 : EXPOSE 9999 
  16.  ---> Running in 86a145142954 
  17.  ---> 189f73beb27a 
  18. Removing intermediate container 86a145142954 
  19. Successfully built 189f73beb27a 

查看Docker镜像

  1. docker images 
  2. REPOSITORY TAG IMAGE ID CREATED SIZE 
  3. 10.0.0.10:5000/app/demo v2.0 189f73beb27a About an hour ago 687 MB 

将制作好的Docker镜像push到私有Registry

  1. docker push 10.0.0.10:5000/app/demo:v2.0 
  2. The push refers to a repository [10.0.0.10:5000/app/demo] 
  3. 6a6b9dbfc663: Pushed  
  4. 35c20f26d188: Pushed  
  5. c3fe59dd9556: Pushed  
  6. 6ed1a81ba5b6: Pushed  
  7. a3483ce177ce: Pushed  
  8. ce6c8756685b: Pushed  
  9. 30339f20ced0: Pushed  
  10. 0eb22bfb707d: Pushed  
  11. a2ae92ffcd29: Pushed  
  12. v2.0: digest: sha256:7296321564a7ace0bf1f2e8099fb7e0e01610efec5e1d1fec0c877b236bc0f5f size: 2212 

到此,我们的demo镜像已经准备就绪,下面开始准备mysql镜像。

由于国外的Docker Hub网速比较慢,我们从国内的Docker Hub拉取一个mysql的镜像到本地

  1. docker pull daocloud.io/library/mysql:5.7.4 

将mysql镜像打tag,并且push到我们的私有Registry

  1. docker tag daocloud.io/library/mysql:5.7.4 10.0.0.10:5000/library/mysql:5.7.4 
  2. docker push 10.0.0.10:5000/library/mysql:5.7.4 
  3. The push refers to a repository [10.0.0.10:5000/library/mysql] 
  4. 5f70bf18a086: Pushed  
  5. 903c114b758c: Pushed  
  6. c8c909bc9ac1: Pushed  
  7. 6f19f89d53b4: Pushed  
  8. 6e82deab235b: Pushed  
  9. ca60b5cb617c: Pushed  
  10. ac906c9ec95d: Pushed  
  11. 4c816744690c: Pushed  
  12. 5.7.4: digest: sha256:afe1630e8c9bd318a5e72b2536c2daacb96b8135cc2c6d3465262b5c7b7d1831 size: 3846 

到此,我们mysql的镜像也准备就绪,下面开始部署我们的demo应用和mysql

创建mysql的部署yaml文件mysql-deployment.yaml

  1. apiVersion: v1 
  2. kind: Service 
  3. metadata: 
  4.  name: mysql 
  5.  labels: 
  6.  app: mysql 
  7. spec: 
  8.  ports: 
  9.  - port: 3306 
  10.  selector: 
  11.  app: mysql 
  12.  clusterIP: None 
  13.   
  14. --- 
  15. apiVersion: apps/v1 # for k8s versions before 1.9.0 use apps/v1beta2 and before 1.8.0 use extensions/v1beta1 
  16. kind: Deployment 
  17. metadata: 
  18.  name: mysql 
  19.  labels: 
  20.  app: mysql 
  21. spec: 
  22.  selector: 
  23.  matchLabels: 
  24.  app: mysql 
  25.  template: 
  26.  metadata: 
  27.  labels: 
  28.  app: mysql 
  29.  spec: 
  30.  containers: 
  31.  - image: 10.0.0.10:5000/library/mysql:5.7.4 
  32.  name: mysql 
  33.  env: 
  34.  - name: MYSQL_ROOT_PASSWORD 
  35.  value: "123456" 
  36.  - name: MYSQL_DATABASE 
  37.  value: "demo" 
  38.  livenessProbe: 
  39.  tcpSocket: 
  40.  port: 3306 
  41.  ports: 
  42.  - containerPort: 3306 
  43.  name: mysql 
  44. ​ 

通过环境变量初始化了一些参数:

  1. MYSQL_ROOT_PASSWORD为mysql的root密码
  2. MYSQL_DATABASE为mysql启动后默认创建的数据库

(编辑:ASP站长网)

网友评论
推荐文章
    热点阅读