Docker应用三:Dockerfile使用介绍(以安装redis为例)

2023-02-23 09:51:08 浏览数 (2)

    • Dockerfile使用介绍

一、Dockerfile介绍

Dockerfile用于自定义创建docker镜像,是由一行行命令组成的文件。

Docker file中的命令根据作用分为四类:

1.1、指定基础镜像信息指令:

FROM

1.2、指定维护者信息指令:

MAINTAINER

1.3、对镜像操作的指令:

RUN:后面运行shell命令

COPY:拷贝本地文件到容器某目录

ADD:拷贝本地压缩包到容器,拷贝完成后在容器内部自动解压。也支持从url下载文件后拷贝到容器

VOLUME:指定容器中的某个目录影射到主机上,可以使用docker inspect contained 查看主机上的对应目录

EXPOSE:指定容器内应用运行的端口号

1.4、容器启动后执行的命令:

CMD:在容器中执行的命令,若docker run命令后面指定了shell命令,docker file中的CMD指令会被覆盖

 ENTRYPOINT:在容器中执行的命令,该命令执行一次,不会被覆盖

二、Dockerfile应用

本例使用Dockerfile构建redis集群镜像

Dockerfile内容如下:

FROM centos #依赖centos镜像 MAINTAINER ahaii #作者信息 RUN groupadd -r redis && useradd -r -g redis redis RUN mkdir /data && chown redis:redis /data VOLUME "/data" #将容器中的/data目录挂在到主机中 ADD redis-3.2.8.tar.gz /data/ #拷贝源码包,并解压 RUN yum install -y gcc gcc-c net-tools make WORKDIR /data/redis-3.2.8/src/ #切换目录 RUN make && make install Copy redis-master.conf . #拷贝配置文件 EXPOSE 6801 #指定监听端口 CMD "redis-server","redis-master.conf" #容器启动后,启动redis服务

将Dockerfile、redis源码包以及redis配置文件放在同一目录下,然后构建redis-master镜像,在Dockerfile目录下执行如下命令:

docker build -t redis-master .

构建完成后,可以使用docker images命令查看。

运行新构建的redis-master镜像:

docker run --name redis-master -dit -v /etc/localtime:/etc/localtime -p 6379:6379 redis-master

其中,-v /etc/localtime:/etc/localtime表示使用主机时区设置,第一个redis-master表示运行容器的名字,后面的redis-master表示刚才通过build构建的镜像的名字。

查看docker容器内部信息(如ip、物理机挂在位置等):

docker inspect container_name

未经允许不得转载:肥猫博客 » Docker应用三:Dockerfile使用介绍(以安装redis为例)

0 人点赞