Docker核心思想就是如何将应用整合到容器中,并能在容器中实际运行。这个过程称为“容器化”(Containerizing),也叫“Docker化”(Dockerizing)。在
docker images中看到的镜像,就是容器化的应用,比如:REPOSITORY TAG IMAGE ID CREATED SIZEnginx 1.11.0 b1fcb97bc5f6 3 years ago 182.7 MBredis 3.2.0 cdb0aab4a1bf 3 years ago 184.8 MB
-
1. 容器化过程(使用Dockerfile的方式)
1.1 Dockerfile:
dockerfile的两个主要用途:
对当前应用的描述
- 知道Docker容器化应用
1.2 容器化过程
- 获取应用代码
- 编辑Dockerfile
- 构建应用镜像
- 推送镜像到仓库
这里特别说推送到镜像仓库,这里所说的镜像仓库就是 Docker Hub(Docker Hub是一个开放的公共镜像仓库服务),是拉取镜像时目标镜像所在的仓库。推送镜像到仓库方便多人通过docker pull来共享该镜像,也可以在仓库存一个备份。若不推送对本地也没有影响。
- 运行应用程序
1.3 详述
例如,使用如下Dockerfile构建镜像:FROM alpineLABEL maintainer="maint@gmail.com"RUN apk add --update nodejs nodejs-npmCOPY . /srcWORKDIR /srcRUN npm installEXPOSE 8080ENTRYPOINT ["node", "./app.js"]
# 构建$ docker image build -t web:test .# 查看镜像$ docker images# 查看构建镜像过程中执行了哪些指令$ docker image history web:test
