dockerfile

使用 Dockerfile 定制镜像
基础命令
  • FROM: 定制的镜像都是基于 FROM 的镜像,这里的 nginx 就是定制需要的基础镜像。后续的操作都是基于 nginx。
    • 与 docker pull image一致
  • MAINTAINER -- 维护信息
    • MAINTAINER Edison Zhou edisonchou@hotmail.com
    • 不过,MAINTAINER并不推荐使用,更推荐使用LABEL来指定镜像作者,例如
      • LABEL maintainer="edisonzhou.cn"
  • RUN -- 构建是运行的shell命令
  • CMD -- 启动容器是执行的shell命令
  • EXPOSE-- 声明容器运行的服务端口
  • ENV -- 环境变量,如JAVA_HOME
  • ADD -- 拷贝文件到镜像中
    • ADD src dest
    • 如果是URL或压缩包,会自动下载或自动解压。
  • COPY -- 拷贝文件到目录镜像,不支持自动下载与解压
  • ENTRYPOINT --  启动容器时执行的Shell命令,同CMD类似,只是由ENTRYPOINT启动的程序不会被docker run命令行指定的参数所覆盖,而且,这些命令行参数会被当作参数传递给ENTRYPOINT指定指定的程序
  • VOLUME -- 指定容器挂载点到宿主机自动生成的目录或其他容器

FROM daocloud.io/centos:7.7.1908

ENV LANG=en_US.UTF-8

RUN yum install -y wget bzip2 ca-certificates \
    libglib2.0-0 libxext6 libsm6 libxrender1 \
    git mercurial subversion   

RUN yum install -y gcc  postgresql-devel*    

RUN echo 'export PATH=/opt/conda/bin:$PATH' > /etc/profile.d/conda.sh && \
    wget --quiet https://repo.continuum.io/archive/Anaconda3-2019.03-Linux-x86_64.sh -O ~/anaconda.sh && \
    /bin/bash ~/anaconda.sh -b -p /opt/conda && \
    rm ~/anaconda.sh

ENV PATH /opt/conda/bin:$PATH



# 设置时区
RUN cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
RUN yum -y update

RUN yum -y install sudo \
&& yum -y install net-tools \
&& yum -y install openssh-server \
&& yum -y install openssh-clients \
&& yum -y install vim \
&& yum -y install git 

# 修改root密码
RUN echo "root" | passwd --stdin root 

RUN echo " cd /home/rmis/rmis_renege_analysis_algorithmn &&  /opt/conda/bin/python renege_analysis_algorithmn.py > /home/rmis/log.log  >&1 & " >> /etc/rc.local 
RUN chmod 777 /etc/rc.local 


ARG gitUser
ARG gitPass
ARG serverPort

RUN mkdir /home/rmis \
&& git clone https://${gitUser}:${gitPass}@code.aliyun.com/datamind/rmis-algorithm.git /home/rmis \
&&  pip install -r /home/rmis/requirements.txt   -i https://mirrors.aliyun.com/pypi/simple/

WORKDIR /home/rmis/rmis_renege_analysis_algorithmn

# 开放22号端口
EXPOSE 22
EXPOSE ${serverPort}


CMD   /bin/bash  ; /usr/sbin/sshd -D ; /etc/rc.local ;

build
  • docker build -t ms:latest --build-arg gitUser=xif10416s --build-arg gitPass='!QAZ1qaz1qaz' --build-arg serverPort=8801 .
  • docker build -t ms:latest --no-cache --build-arg gitUser=xif10416s --build-arg gitPass='!QAZ1qaz1qaz' --build-arg serverPort=8801 .
  • docker run -d -it -p 28022:22 -p 5000:5000 --privileged=true -h="base_centos7" --name base_centos7 ms:latest /usr/ sbin/init
参考
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值