filelinux
Docker
Docker镜像的首行从FROM alpine之类的镜像开始,可是最初的基础镜像是如何建立的,本文使用一个busybox建立一个基础镜像,相信在此过程当中会对docker一些相关的概念有进一步的理解。docker
什么是基础镜像(base image)
简单来讲,基础镜像就是没有From或者FROM scratch开头的Dockerfile所构建出来的镜像。好比alpine,这个很小的linux镜像目前只有4M左右ubuntu
Docker经常使用镜像选择
由于Docker镜像是基于基础镜像来构建的,所以选择的基础镜像越高级,咱们要作的底层工做就越少。centos
好比,若是构建一个Java应用的镜像,选择一个openjdk的镜像做为基础镜像比选择一个alpine镜像做为基础镜像要简单地多。bash
Docker镜像官网
Docker镜像官网(Docker Hub): https://hub.docker.com测试
阿里云容器Hub:https://dev.aliyun.comui
Google镜像(gcr.io):https://console.cloud.google.com/gcr/images/google-containers/GLOBAL (主要为Kubernetes相关镜像)google
操做系统基础镜像
好比你要从Linux操做系统基础镜像开始构建,能够参考下表来选择合适的基础镜像:阿里云
镜像名称 | 大小 | 使用场景 |
---|---|---|
busybox | 1.15MB | 临时测试用 |
alpine | 4.41MB | 主要用于测试,也可用于生产环境 |
centos | 200MB | 主要用于生产环境,支持CentOS/Red |
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
-