Docker常用镜像基本操作

阿俊 · · 728 次点击 · · 开始浏览    
这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。

file

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

公众号


有疑问加站长微信联系(非本文作者)

本文来自:Segmentfault

感谢作者:阿俊

查看原文:Docker常用镜像基本操作

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

728 次点击  
加入收藏 微博
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传