制作docker images -- Dockerfile

使用DOCKERFILE,制作docker镜像

  • 制作docker镜像

    • 可以制作自己需要的镜像
    • 可以将镜像导入其他环境中的docker,方便移植
  • docker执行方式

    • 以服务的形式启动,容易以服务的形式运行,通过docker ps -a 查看

      docker run --detach \
         --publish 49080:8080 --publish 50000:50000 \
         --name jenkins \
         --volume /Volumes/disk2/workspace/docker/jenkins:/var/jenkins_home\
         jenkins:latest
    • 以命令的形式启动,执行后销毁容器

      docker run -it --rm --name my-running-script \
         -v /Volumes/disk2/workspace/git/python/tws-alert:/usr/src/myapp \
         -w /usr/src/myapp centos-py:0.0.1 python \
         -m TwsAlert.workflowPredict --factor 9 --mark 3 --multi 4

docker image 制作过程

以python image制作为例

  • 基础镜像:centos7.1
  • 目录结构
    .
    └── python
    ├── Dockerfile
    ├── get-pip.py
    ├── myapp
    │ └── test.py
    └── requirements.txt

  • 其中,python为主目录,Dockerfile在该目录下,内容如下

    FROM centos:7   # 基础镜像
    
    
    # 为镜像安装必要的依赖包
    
    RUN yum -y install gcc
    RUN yum -y install gcc-c++
    RUN yum -y install python-devel
    RUN yum -y install cyrus-sasl-devel
    RUN yum -y install mysql-devel
    
    # 从本地将pip安装文件copy到docker容器中
    
    COPY get-pip.py ./
    
    # 安装最新版本pip
    
    RUN python get-pip.py
    
    # 将本地python库需求列表copy到docker容器中
    
    COPY requirements.txt ./
    
    # 安装python库
    
    RUN pip install -r requirements.txt
    
    # 指定此image的工作路径,python程序将映射到此路径下
    
    WORKDIR /usr/src/app
    
    # 指定容器可执行命令为python
    
    CMD [ "python" ] 
  • 在python目录下执行命令,创建docker image

    sudo docker build -t centos-py:0.0.1 .
  • 执行成功后,可通过docker images命令查看images

    chqiang-fdeMacBook-Air:docker chqiang_f$ docker images
    REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
    centos-py           0.0.1               8fdb3bed4d46        2 weeks ago         915MB
  • 可以通过以下命令查看image是否可用

    chqiang-fdeMacBook-Air:docker chqiang_f$ docker run -it --rm --name my-running-script -v /Users/chqiang_f/work/docker/python/myapp:/usr/src/myapp -w /usr/src/myapp centos-py:0.0.1 python
    Python 2.7.5 (default, Jul 13 2018, 13:06:57) 
    [GCC 4.8.5 20150623 (Red Hat 4.8.5-28)] on linux2
    Type "help", "copyright", "credits" or "license" for more information.
    >>> import pandas
    >>> 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值