docker(三) 构建自己的镜像

下面以一个例子来演示构建镜像的过程。

#在/tmp目录下演示
cd tmp
mkdir build-redis-image

1.创建Dockerfile文件

vim Dockerfile

并写入如下内容:

# 构建Redis镜像:在Centos7.4镜像中安装redis后打包成自己的镜像。
#基于Centos7.4构建
FROM centos:7.4

#安装依赖
RUN yum -y install tar cpp binutils glibc glibc-kernheaders glibc-common glibc-devel gcc make gcc-c++ libstdc++-devel tcl

#创建安装目录
RUN mkdir -p /redis/data && cd /redis

#拷贝redis的安装包
COPY ./redis-3.0.0.tar.gz /redis

#解压
RUN cd /redis && tar -xvf redis-3.0.0.tar.gz && rm -rf redis-3.0.0.tar.gz && cd redis-3.0.0

#编译、安装
RUN cd /redis/redis-3.0.0 && make && make install

#复制配置文件到/redis中,并且修改redis为后台运行
RUN cp /redis/redis-3.0.0/redis.conf /redis/ && echo "daemonize yes" >> redis.conf

#设置数据挂载目录以及工作目录
VOLUME /redis/data
WORKDIR /redis/data

#容器启动后执行该命令
ENTRYPOINT ["/usr/local/bin/redis-server", "/redis/redis.conf"]

#设置对外的端口号
EXPOSE 6379

然后上传需要打包的redis-3.0.0.tar.gz文件到上面创建的/tmp/build-redis-image目录下,这里使用rz命令上传。

rz

2.使用docker build命令构建

docker build -t my-redis:my-redis-3.0 . (后面有个点,表示当前路径)

原文地址:https://www.cnblogs.com/rouqinglangzi/p/10003102.html

时间: 2024-11-06 03:33:04

docker(三) 构建自己的镜像的相关文章

Docker容器-构建Tomcat业务镜像

接着上一篇文章来构建Tomcat业务镜像,上篇已经把tomcat基础镜像已经完成了.这次基于tomcat基础镜像构建实际业务镜像. 退到tomcat目录下,新建两个业务用的目录文件 [[email protected] /data/dockerfile/web/tomcat/tomcat-base]#cd .. [[email protected] /data/dockerfile/web/tomcat]#mkdir tomcat-app1 [[email protected] /data/do

DOCKER构建本地局域网镜像

本人所使用的操作系统:CENTOS7 x64 DOCKER版本:1.12.5 实验机器: 192.168.88.101(DOKCER仓库机器) 192.168.9.71(用于开发的机器,二者虽不在统一网段,但是可以互通) 第一步,我是先从docker hub上拉了一个官方的centos镜像 [[email protected] ~]$ sudo docker pull centos 第二步,又拉了一个registry镜像用来构建本地仓库,同时本地目录同步到registry镜像中 [[email 

构建Docker镜像实战之构建Tomcat9.0镜像(RPM一键安装Java环境)

构建Docker镜像实战之构建Tomcat9.0镜像(RPM一键安装Java环境) tomcat是一个免费开源的轻量级web服务器,在中小型企和并发访问量不高的场合普遍使用,是开发和调试JSP程序的首选.下面使用Dockerfile文件的方式来创建带有tomcat服务的Dockerfile镜像.(注:这里的Java环境是使用rpm一键式安装的且小编创建的是tomcat9.0的镜像) 下面直接开始实验 关闭防火墙及SELinux systemctl stop firewalld.service s

跟我一起学docker(三)--镜像的常用操作

1.获取镜像: 命令: docker pull <域名>//: 说明: 镜像是Docker运行容器的前提. 用户可以使用docker pull 命令从网络上下载镜像.对于镜像来说,如果不显式地指定tag,则默认会选择latest标签,即下载仓库中最新版本的镜像. 默认是从docker官方下载的.只有docker官方的可以不需要增加命名空间直接进行下载. 2.查看镜像列表 命令: docker images 说明: 使用docker images命令可以列出本地主机上已有的镜像. 信息含义:来自

Docker基础-使用Dockerfile创建镜像

1.基本结构 Dockerfile由一行行命令语句组成,并支持以#开头的注释行.例如: # This dockerfile uses the ubuntu image # VERSION 2 - EDITION 1 # Author: docker_user # Command format: Instruction [arguments / command ] .. # Base image to use, this nust be set as the first line FROM ubu

Docker(三):Dockerfile 命令详解

上一篇文章Docker(二):Dockerfile 使用介绍介绍了 Dockerfile 的使用,这篇文章我们来继续了解 Dockerfile ,学习 Dockerfile 各种命令的使用. Dockerfile 指令详解 1 FROM 指定基础镜像 FROM 指令用于指定其后构建新镜像所使用的基础镜像.FROM 指令必是 Dockerfile 文件中的首条命令,启动构建流程后,Docker 将会基于该镜像构建新镜像,FROM 后的命令也会基于这个基础镜像. FROM语法格式为: FROM <i

[转]Docker基础-使用Dockerfile创建镜像

本文转自:https://www.cnblogs.com/jie-fang/p/7927643.html 1.基本结构 Dockerfile由一行行命令语句组成,并支持以#开头的注释行.例如: # This dockerfile uses the ubuntu image # VERSION 2 - EDITION 1 # Author: docker_user # Command format: Instruction [arguments / command ] .. # Base imag

浅谈Docker三两事

Docker 到底是个什么东西呢?我们在理解 Docker 之前,首先得先区分清楚两个概念,容器和虚拟机.可能很多人都用过虚拟机,而对容器这个概念比较的陌生.我们用的传统虚拟机如 VMware , VisualBox 之类的需要模拟整台机器包括硬件.每台虚拟机都需要有自己的操作系统,虚拟机一旦被开启,预分配给它的资源将全部被占用.每一台虚拟机包括应用,必要的二进制和库,以及一个完整的用户操作系统.而容器技术是和我们的宿主机共享硬件资源及操作系统,可以实现资源的动态分配.容器包含应用和其所有的依赖

Docker三

将本地镜像发布到阿里云 有时候需要共享镜像或者习惯使用自己定义的镜像,可以注册私有仓库,国内推荐使用阿里云 步骤: 1.登录阿里云容器镜像服务:https://cr.console.aliyun.com/cn-hangzhou/repositories 2.将镜像推送到阿里云 # 登录阿里云的docker仓库 $ sudo docker login --username=[用户名] registry.cn-hangzhou.aliyuncs.com # 创建指定镜像的tag,归入某个仓库 $ s