制作Docker镜像
- docker build -t 10.0.0.10:5000/app/demo:v2.0 .
- Sending build context to Docker daemon 44.18 MB
- Step 1/5 : FROM daocloud.io/java:8
- ---> d23bdf5b1b1b
- Step 2/5 : MAINTAINER xiaobaoqiang@163.com
- ---> Using cache
- ---> 6a8e7ffcb8b7
- Step 3/5 : ADD ./demo.jar /tmp
- ---> 11bc5f618c77
- Removing intermediate container c3942d277805
- Step 4/5 : CMD java -jar /tmp/demo.jar
- ---> Running in f877685bb056
- ---> cb08fcc6b0a1
- Removing intermediate container f877685bb056
- Step 5/5 : EXPOSE 9999
- ---> Running in 86a145142954
- ---> 189f73beb27a
- Removing intermediate container 86a145142954
- Successfully built 189f73beb27a
查看Docker镜像
- docker images
- REPOSITORY TAG IMAGE ID CREATED SIZE
- 10.0.0.10:5000/app/demo v2.0 189f73beb27a About an hour ago 687 MB
将制作好的Docker镜像push到私有Registry
- docker push 10.0.0.10:5000/app/demo:v2.0
- The push refers to a repository [10.0.0.10:5000/app/demo]
- 6a6b9dbfc663: Pushed
- 35c20f26d188: Pushed
- c3fe59dd9556: Pushed
- 6ed1a81ba5b6: Pushed
- a3483ce177ce: Pushed
- ce6c8756685b: Pushed
- 30339f20ced0: Pushed
- 0eb22bfb707d: Pushed
- a2ae92ffcd29: Pushed
- v2.0: digest: sha256:7296321564a7ace0bf1f2e8099fb7e0e01610efec5e1d1fec0c877b236bc0f5f size: 2212
到此,我们的demo镜像已经准备就绪,下面开始准备mysql镜像。
由于国外的Docker Hub网速比较慢,我们从国内的Docker Hub拉取一个mysql的镜像到本地
- docker pull daocloud.io/library/mysql:5.7.4
将mysql镜像打tag,并且push到我们的私有Registry
- docker tag daocloud.io/library/mysql:5.7.4 10.0.0.10:5000/library/mysql:5.7.4
- docker push 10.0.0.10:5000/library/mysql:5.7.4
- The push refers to a repository [10.0.0.10:5000/library/mysql]
- 5f70bf18a086: Pushed
- 903c114b758c: Pushed
- c8c909bc9ac1: Pushed
- 6f19f89d53b4: Pushed
- 6e82deab235b: Pushed
- ca60b5cb617c: Pushed
- ac906c9ec95d: Pushed
- 4c816744690c: Pushed
- 5.7.4: digest: sha256:afe1630e8c9bd318a5e72b2536c2daacb96b8135cc2c6d3465262b5c7b7d1831 size: 3846
到此,我们mysql的镜像也准备就绪,下面开始部署我们的demo应用和mysql
创建mysql的部署yaml文件mysql-deployment.yaml
- apiVersion: v1
- kind: Service
- metadata:
- name: mysql
- labels:
- app: mysql
- spec:
- ports:
- - port: 3306
- selector:
- app: mysql
- clusterIP: None
-
- ---
- apiVersion: apps/v1 # for k8s versions before 1.9.0 use apps/v1beta2 and before 1.8.0 use extensions/v1beta1
- kind: Deployment
- metadata:
- name: mysql
- labels:
- app: mysql
- spec:
- selector:
- matchLabels:
- app: mysql
- template:
- metadata:
- labels:
- app: mysql
- spec:
- containers:
- - image: 10.0.0.10:5000/library/mysql:5.7.4
- name: mysql
- env:
- - name: MYSQL_ROOT_PASSWORD
- value: "123456"
- - name: MYSQL_DATABASE
- value: "demo"
- livenessProbe:
- tcpSocket:
- port: 3306
- ports:
- - containerPort: 3306
- name: mysql
-
通过环境变量初始化了一些参数:
- MYSQL_ROOT_PASSWORD为mysql的root密码
- MYSQL_DATABASE为mysql启动后默认创建的数据库
(编辑:晋中站长网)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|