制作 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-EPEL-6

安装 docker-io 和 febootstrap,用来制作centos镜像,生成centos的镜像#

# yum install docker-io -y #安装docker
# service docker start #启动docker
# yum install febootstrap #制作镜像工具

制作CentOS镜像文件 centos6-image 目录#

# febootstrap -i bash -i wget -i yum -i iputils -i iproute -i man -i vim -i openssh-server -i openssh-clients -i tar -i gzip centos6 centos6-image http://mirrors.aliyun.com/centos/6/os/x86_64/

-i : 安装的软件包

centos6 : 系统版本

centos6-image : 生成的目录名称

也可以制作CentOS7的镜像 将地址更换为CentOS7的地址,例如

# febootstrap -i bash -i net-tools -i wget -i yum -i iputils -i iproute -i man -i vim -i openssh-server -i openssh-clients -i tar -i gzip centos7 centos7-image https://mirrors.aliyun.com/centos/7/os/x86_64/

设置ssh 进入镜像的时候直接进入root 目录(如果不做这一步则直接进入到 / 目录)

# cd centos6-image && cp etc/skel/.bash* root/

生成基础镜像 base#

# cd centos6-image && tar -c . |docker import - centos6-base

查看镜像

# docker images

根据基础镜像制作 http 的docker 镜像#

# cat Dockerfile

FROM centos6-base # 表示以此镜像为基础镜像进行制作
MAINTAINER bamboo # 表示镜像制作者的信息
RUN yum install -y yum-priorities && rpm -ivh http://dl.fedoraproject.org/pub/epel/6/x86_64/Packages/e/epel-release-6-8.noarch.rpm && rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6
RUN yum install tar gzip vim wget httpd httpd-* -y
RUN sed -i ‘s/#ServerName www.example.com:80/ServerName www.example.com:80/‘ /etc/httpd/conf/httpd.conf
EXPOSE 80 # 表示开启的端口号
CMD ["/usr/sbin/httpd","-D","FOREGROUND"] #表示在启动镜像的时候执行的命令 一个Dockerfile只能写一个CMD命令,多个CMD执行最后的那一条
#ENTRYPOINT ["/usr/sbin/httpd","-D","FOREGROUND"] # 和CMD 用法一样

build 镜像#

# cd centos6-image && docker build -t centos6-httpd /root/bamboo
-t 后面跟的是即将生成镜像的名字也就是上面的 centos6-httpd
最后跟的是 Dockerfile的目录,是目录

查看和测试#

# docker images # 查看新生成的镜像centos6-httpd
# docker -d --name http -p 800:80 centos6-http
# docker ps -a # 可以查看到运行的镜像 以及端口映射情况
# 访问 curl http://ip:800 可以看到http默认的欢迎页面

原文地址:http://blog.51cto.com/wuyebamboo/2325194

时间: 2024-08-27 13:58:18

制作 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镜像

做嵌入式方向经常会遇到的一个问题,就是编译环境安装,如果换电脑,再重新安装环境是一个比较费时的事情,这个时候可以自己制作一个Docker镜像,然后把编译环境在Docker镜像里面配置好,以后同步环境就非常方便了,接下来我们就一起来看一下如何制作一个Docker镜像. 1. 制作前准备 登录Docker Hub,https://cloud.docker.com/,申请一个账号: 申请好后,然后创建一个自己的Repository,注意Repository的命名为小写. 接下来我们就一起来制作一个Do

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