• 第一个Dockerfile


    1、 创建docker目录

    $ mkdir docker && cd docker
    

    2、 编写Dockerfile

    $ vim Dockerfile
    
    [docker/Dockfile]
    
    FROM ubuntu:16.04
    MAINTAINER Foo Bar < foo@bar.com>
    
    RUN apt-get update
    RUN apt-get install -y nginx 
    RUN echo “
    daemon off:”>> /etc/nginx/nginx.conf
    RUN chown –R www-data:www-data /var/lib/nginx
    
    VOLUME [“/data”,”/etc/nginx/site-enabled”,”/var/log/nginx”]
    
    WORKDIR /etc/nginx
    
    CMD [“nginx”]
    
    EXPOSE 80
    EXPOSE 443
    

    上述代码基于ubuntu 14.04创建Docker镜像,且安装nginx服务器。

    * FROM:指定基于的基础镜像。Docker镜像基于已创建的镜像。指令格式为<镜像名称>:<标签>。

    * MAITAINER:维护者信息

    *  RUN:运行shell脚本或命令

    *  VOLUME:要与主机共享的目录。也可以在docker run命令中使用 -v 选项进行设置。例如,-v /root/data:/data将主机的/root/data目录连接到Docker窗口的/data目录。

    *  CMD:指定容器启动时执行的文件或者shell脚本。

    *  WORKDIR:为CMD中设置的可执行文件设置运行目录

    *  EXPOSE:与主机相连的端口号

    3、 使用build命令创建镜像

    $ docker build - -tag hello:0.1  .
    
    $ docker images
    

     

    4、 运行刚刚创建的镜像

    $ docker run --name hello-nginx -d -p 80:80 -v /root/data:/data hello:0.1
    
    $ docker ps
    

      * -d选项在后台运行容器。

      * -p 80:80选项将主机的80端口与容器的端口连接起来,并暴露到外部。这样设置后,连接http://<主机名>:80就会连接到容器的80端口了。

      * -v /root/data:/data选项将主机的/root/data:/data选项将主机的/root/data目录连接到容器的/data目录。若将文件放入/root/data目录,则能从容器读取相应文件。

    5、 访问nginx服务器:http://<主机IP>:80,打开后即可出现 welcome to nginx 页面。

  • 相关阅读:
    svn更新出错,Previous operation has not finished; run 'cleanup' if it was interrupted
    angular转换日期格式问题
    eclipse自动补全和取消空格自动补全功能
    对枚举和静态常量的理解
    对Spring的IOC、DI、AOP的理解
    maven库因为网络原因jar下载失败
    java new一个对象的过程
    shelve模块读写文件报错
    $http.get(...).then(...).error is not a function
    jQuery动画的先后执行
  • 原文地址:https://www.cnblogs.com/jefflee168/p/7383405.html
Copyright © 2020-2023  润新知