docker使用---2:dockerfile

# docker基础命令
# 创建并启动进入shell docker run -it images/tag -name xxx -p 8090:8090 -v /data:/data /bin/bash
# 启动 docker start ID
# 关闭 docker stop ID
# 进入docker环境shell docker exec -it ID /bin/bash
# 查看容器 docker ps -all
# 删除容器 docker rm ID
# 查看镜像 docker images
# 删除镜像 docker rmi ID

# dockerfile基础命令
# FROM 指令用于设置在新映像创建过程期间将使用的容器映像。
# RUN 指令指定将要运行并捕获到新容器映像中的命令。 这些命令包括安装软件、创建文件和目录,以及创建环境配置等。
# COPY 指令将文件和目录复制到容器的文件系统。文件和目录需位于相对于 Dockerfile 的路径中。
# ADD 指令与 COPY 指令非常类似,但它包含更多功能。除了将文件从主机复制到容器映像,ADD 指令还可以使用 URL 规范从远程位置复制文件。
# WORKDIR 指令用于为其他 Dockerfile 指令(如 RUN、CMD)设置一个工作目录,并且还设置用于运行容器映像实例的工作目录。
# CMD指令用于设置部署容器映像的实例时要运行的默认命令。例如,如果该容器将承载 NGINX Web 服务器,则 CMD 可能包括用于启动Web服务器的指令,如 nginx.exe。 如果 Dockerfile 中指定了多个CMD 指令,只会计算最后一个指令。
# ENTRYPOINT 配置容器启动后执行的命令,并且不可被 docker run 提供的参数覆盖。每个 Dockerfile 中只能有一个ENTRYPOINT,当指定多个时,只有最后一个起效。
# ENV命令用于设置环境变量。这些变量以”key=value”的形式存在,并可以在容器内被脚本或者程序调用。这个机制给在容器中运行应用带来了极大的便利。
# EXPOSE用来指定端口,使容器内的应用可以通过端口和外界交互。(该映射端口号并无法实现真正的映射,需要在执行run 设置端口)

#dckerFile启动 docker build -f /usr/local/docker_file/Dockerfile -t centos7/python2.7.15:v1 .

FROM docker.io/centos:7

MAINTAINER FCJ
MAINTAINER [email protected]

# 源码安装python2.7.15
# 安装路径:/usr/local/python2.7.15
# 1.1:安装Python2.7.15环境(mini环境没有安装make需要手动安装),
# 1.2: 并将python默认版本更换为2.7.15
# 1.3: python默认版本修改后会导致yum不可用,需要修改/ur/bin/yum和/usr/libexec/urlgrabber-ext-down的python版本为原版本
# 源码安装nginx-1.16.1
# 安装路径:/usr/local/nginx1.16.1
RUN echo "---------- 1:install python env -----------" && \
yum -y install openssl-devel bzip2-devel expat-devel gdbm-devel readline-devel sqlite-devel && \
yum -y install gcc gcc-c++ automake autoconf libtool make wget && \
wget https://www.python.org/ftp/python/2.7.15/Python-2.7.15.tgz -P /tmp && \
tar -zxvf /tmp/Python-2.7.15.tgz -C /tmp/ && \
mkdir /usr/local/python2.7.15 &&\
cd tmp/Python-2.7.15 &&\
./configure --enable-optimizations --prefix=/usr/local/python2.7.15 && make && make install &&\
unlink /usr/bin/python && \
ln -s /usr/local/python2.7.15/bin/python /usr/bin/python && \
sed -i '1c#!/usr/bin/python2' /usr/bin/yum && \
sed -i '1c#!/usr/bin/python2' /usr/libexec/urlgrabber-ext-down && \
rm -rf /tmp/Python-2.7.15 && \
rm -rf /tmp/Python-2.7.15.tgz && \
echo "---------- end install python env -----------" && \
e cho "---------- 2: install nginx ----------" && \
wget http://nginx.org/download/nginx-1.9.9.tar.gz -P /tmp
tar -zxvf /tmp/nginx-1.9.9.tar.gz -C /tmp
make && make install
echo "---------- end install nginx ----------" && \

EXPOSE 8090

猜你喜欢

转载自www.cnblogs.com/fuchenjie/p/12675458.html