共计 1062 个字符,预计需要花费 3 分钟才能阅读完成。
Docker
Docker 镜像的首行从 FROM alpine 之类的镜像开始,但是最初的基础镜像是如何创建的,本文使用一个 busybox 创建一个基础镜像,相信在此过程中会对 docker 一些相关的概念有进一步的理解。
什么是基础镜像(base image)
简单来说,基础镜像就是没有 From 或者 FROM scratch 开头的 Dockerfile 所构建出来的镜像。比如 alpine,这个很小的 linux 镜像目前只有 4M 左右
Docker 常用镜像选择
因为 Docker 镜像是基于基础镜像来构建的,因此选择的基础镜像越高级,我们要做的底层工作就越少。
比如,如果构建一个 Java 应用的镜像,选择一个 openjdk 的镜像作为基础镜像比选择一个 alpine 镜像作为基础镜像要简单地多。
Docker 镜像官网
Docker 镜像官网(Docker Hub): https://hub.docker.com
阿里云容器 Hub:https://dev.aliyun.com
Google 镜像(gcr.io):https://console.cloud.google….(主要为 Kubernetes 相关镜像)
操作系统基础镜像
比如你要从 Linux 操作系统基础镜像开始构建,可以参考下表来选择合适的基础镜像:
镜像名称 | 大小 | 使用场景 | |
---|---|---|---|
busybox | 1.15MB | 临时测试用 | |
alpine | 4.41MB | 主要用于测试,也可用于生产环境 | |
centos | 200MB | 主要用于生产环境,支持 CentOS/Red | Hat,常用于追求稳定性的企业应用 |
ubuntu | 81.1MB | 主要用于生产环境,常用于人工智能计算和企业应用 | |
debian | 101MB | 主要用于生产环境 |
构建镜像
使用命令 docker build , 来创建一个新的镜像。因此我们需要创建一个 Dockerfile 文件,其中包含一组指令来告诉 Docker 如何构建我们的镜像。
我们可以根据需求选择合适的基础镜像来构建我们需要的镜像文件
Dockerfile
FROM centos:6.7
WORK test
ADD . .
EXPOSE 8080
CMD ['test']
如何使用镜像
- 使用 docker run 运行镜像文件:
当我们单独管理一个镜像文件时,推荐这种方式,可以简单快捷运行已打包的镜像
- 使用 docker-compose 运行镜像文件:
当需要集中管理多个镜像文件时,推荐这种方式,可以更好的集中管理所有的镜像文件
进入容器操作
- docker exec -it test_image /bin/sh
- docker exec -it test_image bash
- docker exec -it test_image sh
正文完