文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

docker基于Alpine Linux构建镜像

2023-01-30 21:57

关注

Alpine Linux,一个只有5M的Docker镜像。是一个面向安全的轻型Linux发行版。不同于通常Linux发行版,Alpine Linux采用了musl libc和busybox以减小系统的体积和运行时资源消耗。在保持瘦身的同时,Alpine Linux还提供了自己的包管理工具apk,可以在其网站上查询,或者直接通过apk命令查询和安装。


普通的ubuntu镜像有100多M,所以想打包更小的镜像,那么Alpine是再适合不过了

下载alpine镜像

# docker pull alpine

Using default tag: latest

Trying to pull repository docker.io/library/alpine ...

latest: Pulling from docker.io/library/alpine

ff3a5c916c92: Pull complete

Digest: sha256:7df6db5aa61ae9480f52f0b3a06a140ab98d427f86d8d5de0bedab9b8df6b1c0


查看本地镜像

# docker images

REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE

docker.io/alpine    latest              3fd9065eaf02        2 days ago          4.143 MB


使用alpine镜像启动一个容器,默认alpine没有bash,所以只能用sh

# docker run -it docker.io/alpine sh
/ #

更新软件

/ # vi /etc/apk/repositories

注释掉默认的,改为阿里云的更新源,内容如下:

#http://dl-cdn.alpinelinux.org/alpine/v3.7/main
#http://dl-cdn.alpinelinux.org/alpine/v3.7/community
#aliyun
https://mirrors.aliyun.com/alpine/v3.6/main/
https://mirrors.aliyun.com/alpine/v3.6/community/

更新软件

/ # apk update

fetch https://mirrors.aliyun.com/alpine/v3.6/main/x86_64/APKINDEX.tar.gz

fetch https://mirrors.aliyun.com/alpine/v3.6/community/x86_64/APKINDEX.tar.gz

v3.6.2-243-g9d95c23115 [https://mirrors.aliyun.com/alpine/v3.6/main/]

v3.6.2-242-g41c32d5e5e [https://mirrors.aliyun.com/alpine/v3.6/community/]

OK: 8448 distinct packages available


安装vim和bash

/ # apk add vim bash

退出当前容器

/ # exit


下面介绍使用Dockerfile来打包镜像,这也是Docker官方推荐的做法

# mkdir -p /docker/images/test
# vim /docker/images/test/Dockerfile

内容如下:

FROM docker.io/alpine

RUN echo "#aliyun" > /etc/apk/repositories
RUN echo "https://mirrors.aliyun.com/alpine/v3.6/main/" >> /etc/apk/repositories
RUN echo "https://mirrors.aliyun.com/alpine/v3.6/community/" >> /etc/apk/repositories
RUN apk update
RUN apk add bash vim

打包镜像

# docker build -t alpine_test /docker/images/test

查看镜像

# docker images

REPOSITORY          TAG                 IMAGE ID            CREATED              SIZE

alpine_test        latest              437a826f6d63        5 seconds ago        32.26 MB

docker.io/alpine    latest              3fd9065eaf02        2 days ago           4.143 MB


使用测试镜像启动容器

# docker run -it alpine_test /bin/bash
bash-4.3#

查看vim版本

bash-4.3# vim -version
VIM - Vi IMproved 8.0 (2016 Sep 12, compiled May  1 2017 12:47:09)
Garbage after option argument: "-version"
More info with: "vim -h"


阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     807人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     351人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     314人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     433人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     221人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-人工智能
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯