【玩转开源】制作Docker镜像

做嵌入式方向经常会遇到的一个问题,就是编译环境安装,如果换电脑,再重新安装环境是一个比较费时的事情,这个时候可以自己制作一个Docker镜像,然后把编译环境在Docker镜像里面配置好,以后同步环境就非常方便了,接下来我们就一起来看一下如何制作一个Docker镜像。

1. 制作前准备

登录Docker Hub,https://cloud.docker.com/,申请一个账号;

申请好后,然后创建一个自己的Repository,注意Repository的命名为小写。

接下来我们就一起来制作一个Docker镜像。

2.制作一个docker镜像

1)首先我们pull一个docker官方提供的Ubuntu镜像:

docker pull ubuntu:16.04

2)查看镜像是否已经下载:

docker images

3)运行镜像:

docker run  -it  --rm  ubuntu:16.04

这个时候就会进入到Docker container(容器)里面,然后执行make,gcc发现没有相应的命令。

我们通过exit退出Docker container(容器),然后制作一个带编译工具的镜像。

4)接下来我们通过Dockerfile来定制我们自己的镜像:

创建Dockerfile文件,在文件里面添加安装命令如下:

vim Dockerfile

# ubuntu 16.04 with compile env
FROM ubuntu:16.04
MAINTAINER jackzengcn<[email protected]>
RUN apt-get update && apt-get upgrade && apt-get install vim -y
RUN apt-get install -y net-tools && apt-get install -y iputils-ping
RUN apt-get install -y gcc-arm-linux-gnueabi
RUN apt-get install -y gcc-arm-linux-gnueabihf
RUN apt-get install -y gcc-aarch64-linux-gnu
RUN apt-get install -y device-tree-compiler
RUN apt-get install -y git && apt-get install -y make && apt-get install -y gcc
RUN apt-get install -y bc && apt-get install -y cpio

在这里,我将会安装一些编译工具到即将要制作的Docker镜像中。

FROM 表示以刚刚下载的Docker镜像 Ubuntu:16.04为基础制作;

MAINTAINER 表示维护者信息;

RUN 表示要执行的命令。

5)接下来我们编译自己的Docker镜像:

docker build  -t  TAGNAME  .  (注意TAGNAME后面有个“.”,“.”表示Dockerfile的路径;另外TAGNAME要与docker hub的Repository名字保持一致)

我这里的Repo名称为:jackzengcn/bpiboardbuild

所以我的build命令为:docker build  -t  jackzengcn/bpiboardbuild  .

 

6)build完成后,就可以校验刚才build的镜像:

docker run  -it  --rm  TAGNAME

这次登录后,就会发现这些命令已经安装好了。

7)校验成功后,就可以准备push镜像到远端Docker仓库,登录docker:

docker login

8)开始push,docker push TAGNAME

docker push jackzengcn/bpiboardbuild:latest

到此,我们自己定制的Docker镜像就已经完成了。

原文地址:https://www.cnblogs.com/topbin/p/10314451.html

时间: 2024-11-16 21:44:17

【玩转开源】制作Docker镜像的相关文章

docker第四天:制作docker镜像——手工制作docker镜像

制作Docker镜像的方式一般有两种:手工制作和通过Dockerfile制作,此次讲解的是手工制作docker镜像. 一.手动制作镜像: 用centos镜像启动容器: [[email protected]_0_12_centos ~]# docker run -it centos bash 2. 在容器中安装网络管理工具: [[email protected] /]# yum -y install net-tools iproute 3. 将修改后的容器保存为镜像: 先按ctrl+p+q后台运行

docker第三天:制作docker镜像——手工制作docker镜像

制作Docker镜像的方式一般有两种:手工制作和通过Dockerfile制作,此次讲解的是手工制作docker镜像. 一.手动制作镜像: 用centos镜像启动容器: [[email protected]_0_12_centos ~]# docker run -it centos bash 2. 在容器中安装网络管理工具: [[email protected] /]# yum -y install net-tools iproute 3. 将修改后的容器保存为镜像: 先按ctrl+p+q后台运行

编译fabric源码,并且制作docker镜像

1.下载好fabric源码: git clone https://github.com/hyperledger/fabric.gitgit checkout release-1.4 2.进入fabric目录 make release 在fabric/release/linux-amd64/bin目录下就会有编译好的二进制文件: 3.制作docker镜像 在fabric目录下面执行: make docker 这时会docker会拉取一些必要的镜像,有的时候拉取很慢,甚至超时导致错误,所以在/etc

制作 docker 镜像

基础环境说明 # cat /etc/redhat-release CentOS release 6.8 (Final) 设置 docker 镜像源# # yum install -y yum-priorities && rpm -ivh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm && rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-E

DOCKER学习_011:使用Dockerfile制作docker镜像

前面使用commit的方式,制作一个docker镜像,本次介绍使用Dockerfile制作一个dockers镜像 [[email protected] ~]# mkdir /openssh [[email protected] ~]# cd /openssh [[email protected] openssh]# cp /etc/ssh/ssh_host_ecdsa_key /etc/ssh/ssh_host_ed25519_key /etc/ssh/ssh_host_rsa_key . [[

制作Docker镜像

Docker所倡导的方向是Paas, 即每个容器都应该是一个产品,精简才是核心. 所以很多基础镜像启动起来后, 一个服务进程都没有. 基于每个容器都应该是一个产品的宗旨, 只要提供一个端口即可提供服务, 所以docker默认不提供固定ip的解决方案. 也就是说, 所有容器都是没有ip的, 由宿主机开启端口, 然后映射到某个容器上. 就目前为止, 我采用的还是原来的套路来使用docker(固定ip, 每个容器都至少监听22端口和自己提供服务的端口). 下面是制作镜像的过程: # 制作一个提供ssh

制作可以 SSH 登录的 Docker 镜像

Docker使用系列一我们把镜像源改为了阿里云的,方便后续的操作. 执行这个命令就把源地址改为阿里的: curl https://git.oschina.net/feedao/Docker_shell/raw/start/ali-centos.sh | sh 第一安装Docker: yum -y install docker-io 第二 启动Docker: service docker start 第三安装制作CentOS镜像的工具: yum -y install febootstrap 第四

如何将应用打包成为 Docker 镜像

容器是镜像的实例,先声明镜像,再创建容器,所以容器可以有多个. 虽然 DockerHub 提供了大量的镜像,但是由于企业环境的多样性,并不是每个应用都能在 DockerHub 找到对应的镜像来使用.那就要求企业的运维人员掌握制作 Docker 镜像的技能.在开始打包应用前,你首先要明白这两件事: 第一件事是选择适合你的方式来生成镜像: 1. 通过 Dockerfile 来自动编译生成镜像,实现构建镜像的需求. 2.通过容器内操作,并进行 Commit 来实现打包生成镜像. 第一种思路多用于用户交

操作系统-容器-Docker:如何将应用打包成为 Docker 镜像?

ylbtech-操作系统-容器-Docker:如何将应用打包成为 Docker 镜像? 1.返回顶部 1. 虽然 DockerHub 提供了大量的镜像,但是由于企业环境的多样性,并不是每个应用都能在 DockerHub 找到对应的镜像来使用.那就要求企业的运维人员掌握制作 Docker 镜像的技能.在开始打包应用前,你首先要明白这两件事: 第一件事是选择适合你的方式来生成镜像: 1. 通过 Dockerfile 来自动编译生成镜像,实现构建镜像的需求. 2.通过容器内操作,并进行 Commit