最近加班严重,很久没更新过文章了,有个小伙伴想了解docker,今天就随便写一下docker。

docker很类似我们使用的虚拟机,docker会更轻量,可移植性更高。且现在很多公司都会有gitlab+docker+k8s做持续集成和持续交付(CI / CD)。

Docker和k8s是不同的,如果说Docker是具体的业务实现,而业务是需要管理调度的,k8s便是掌舵的管理工具。

更多优点玩法多搜搜资料看吧。docker的安装自己找教程吧,我是Docker Desktop for Mac下载安装包解压就能用了。

首先,先说一下我们平时个人使用时的玩法。比如说我现在要搭建一个mysql,平时我们都会下载安装包->安装->使用(有些麻烦)。而docker给我提供的镜像,拉下来就是一个完整的mysql环境。

//首先我们可以查询一下mysql有哪些版本

这个比较简单,就算我们不会命令(我在扯淡,学了docker哪有不会这点命令的),在本地使用时,我们还可以使用界面工具去操作。平时我都是这样搭建环境,不用的时候把镜像一删,一点都不污染我们本地机器。

下面这个对于开发人员就比较重要了。我们构建自己的docker镜像。。。

Dockerfile

FROM 

739257700daae39dfa66ce4b25f573bd.png
图一,解释 ENTRYPOINT

举个小栗子

打一个helloworld的小镜像

首先写了一个小demo,然后打包咯,再然后本地试跑一下

/**

fb7dd84baf81cc92c9cc8ff07111a2d8.png

然后写一个Dockerfile

FROM williamyeh/java8:latest
MAINTAINER "fly"
WORKDIR /demo
COPY demo-0.0.1-SNAPSHOT.jar /demo
ENTRYPOINT ["java", "-jar", "demo-0.0.1-SNAPSHOT.jar"]

85494e2dbc37e52d7ece5b2a71371400.png

在/helloworld目录下执行 docker build -t hello:1.0 .

!!! 看最后有个 . ,下图里有错误示范

8d9a55200e15cc27e9648b2c3f3978d1.png
运行过程

c62848edb0f4ce6c0086fbda54815c17.png
镜像内部

再然后 http://localhost:8080/hello

dcb99560bc025c8d6e60c3d9227e4196.png

再再然后就完咯。

258123cfc4c1a8799e6699c752bf38ac.png
Logo

K8S/Kubernetes社区为您提供最前沿的新闻资讯和知识内容

更多推荐