快捷搜索:  汽车  科技

dockerfile常用指令菜鸟教程(你必须掌握的基础知识)

dockerfile常用指令菜鸟教程(你必须掌握的基础知识)

dockerfile常用指令菜鸟教程(你必须掌握的基础知识)(1)

一、说明

Dockerfile文件是Docker容器的描述文件,当中包含一行行命令,每条指令用来构建一层,整个文件用来指导构建容器的顺序。

二、Dockerfile的关键字

1.关键字列表

dockerfile常用指令菜鸟教程(你必须掌握的基础知识)(2)

2. 行合并

Dockerfile 的指令每执行一次都会在 docker 上新建一层,能合并的尽量合并,如:

FROM centos RUN yum install wget RUN wget -O redis.tar.gz "http://download.redis.io/releases/redis-5.0.3.tar.gz" RUN tar -xvf redis.tar.gz # 以上执行会创建 3 层镜像。可简化为以下格式: FROM centos RUN yum install wget \ && wget -O redis.tar.gz "http://download.redis.io/releases/redis-5.0.3.tar.gz" \ && tar -xvf redis.tar.gz

3. run shell 格式:

RUN <命令行命令> # <命令行命令> 相当于在终端操作的 shell 命令。

4. run exec 格式:

RUN ["可执行文件" "参数1" "参数2"] # 例如: # RUN ["./test.php" "dev" "offline"] 相当于 RUN ./test.php dev offline二、一个简单的Dockerfile说明

1. 准备

vim run.sh

#!/bin/bash /usr/local/apache2/bin/httpd -D FOREGROUND

# 新生成的镜像是基于sshd:dockerfile镜像 FROM centos:centos7 MAINTAINER xundh # 安装wget RUN yum install -y wget WORKDIR /usr/local/src # 下载并解压源码包 RUN wget http://archive.apache.org/dist/httpd/httpd-2.4.41.tar.gz RUN tar -zxvf httpd-2.4.41.tar.gz WORKDIR httpd-2.4.41 # 编译安装apache RUN yum -y install epel-release.noarch && yum makecache fast RUN yum install -y gcc make apr-devel apr apr-util apr-util-devel pcre-devel RUN ./configure --prefix=/usr/local/apache2 --enable-mods-shared=most --enable-so RUN make RUN make install # 修改apache配置文件 RUN sed -i 's/#ServerName www.example.com:80/ServerName localhost:80/g' /usr/local/apache2/conf/httpd.conf # 启动apache服务 RUN /usr/local/apache2/bin/httpd # 复制服务启动脚本并设置权限 ADD run.sh /usr/local/sbin/run.sh RUN chmod 755 /usr/local/sbin/run.sh # 开放80端口 EXPOSE 80 CMD ["/usr/local/sbin/run.sh"] 三、构建命令

docker build -t centos:test . # 启动一个容器 docker run -p 80:80 -d centos:test

猜您喜欢: