美文网首页
ubuntu系统安装docker镜像三——用Dockerfile

ubuntu系统安装docker镜像三——用Dockerfile

作者: 螃蟹和骆驼先生Yvan | 来源:发表于2018-03-07 10:25 被阅读625次

    首先第一步创建一个Docker Hub帐号:

    链接:https://hub.docker.com/
    注册之后你可以在服务器通过docker:
    $docker login

    创建初始Dockerfile,执行命令
    $touch Dockerfile
    $vi Dockerfile
    文件内部输出:


    image.png

    这里解释:

    1. “#”号代表的意思注释
    2. 在前面的Dockerfile的第一条指令都应该是FROM。FROM指令指定一个已经存在的镜像,
      后续指令都将基于该镜像进行,这个镜像被称为基础镜像,所以我们基础镜像是ubuntu14.04
    3. MAINTAINER指令,这条指令是告诉docker该镜像的作者是谁,以及作者的电子邮件。
      解释3条run命令是安装nginx包,之后创建一个/usr/local/nginx/html/index.html文件,
      4 .每条run指令都会创建一个新的镜像层,如果该指令执行成功,就会将镜像层提交,之后继续执行Dockerfile中的下一条指令
    4. EXPOSE指令 这条指令告诉Docker该容器内的应用程序将会使用容器的指定端口,docker不会自动开端口,需要我们自己指定打开的端口。

    现在可以基于Dockerfile构建新镜像
    执行docker build命令时,Dockerfile中的所有指令都会被执行并且提交,并且该命令成功结束返回一个新的镜像,-t后面代表仓库和名称。
    $docker build -t="tool/qian" .


    image.png
    image.png

    当然你的git仓库的根目录下存在Dockerfile文件。
    你可以用一下命令指定


    image.png

    docker在构建镜像时候,会做一件有趣的事,就是他会把提交的镜像看作缓存并作为新的开始点,怎么说假如你现在要修改镜像第3步,你前面都不做修改,docker不会在重新构建前面的步骤,直接取缓存的,只改变你要改变的部分为起始点。
    当然有的时候你缓存前面3步以上,docker不会再次刷新apt包,我们可以通过忽略缓存,达到刷新的效果docker build的 --no-cache标志,
    $docker build --no-cache -t="tool/qian" .
    当然这样生成的效果是这样的


    image.png

    说说上面那个镜像,又名虚悬镜像,由于新旧镜像同名,旧镜像名称被取消,从而出现仓库名、标签均为 <none> 的镜像。这类无标签镜像也被称为 虚悬镜像(dangling image) ,可以用下面的命令专门显示这类镜像:
    $docker image ls -f dangling=true
    一般来说,虚悬镜像已经失去了存在的价值,是可以随意删除的,可以用下面的命令删除
    $ docker image prune -f

    先查看镜像:
    $docker images tool/qian

    如果想具体了解该镜像可以
    $docker history e14e64c3e640


    image.png

    镜像我们也成功生成了,现在要看看从新镜像启动容器
    $docker run -d -p 80 --name qian tool/qian \ nginx -g "daemon off;"


    image.png

    上传镜像到我们的github上吧。
    其实很简单:
    git push 你的镜像名字
    这里注意


    image.png

    这个必须是你的用户名否则上传不上去,
    所以你要改名字命令 docker tag 如图:


    image.png
    给你们看看上传成功的:
    image.png

    当然也可以自动构建,自动构建我就不说了,感觉比较太深了

    当然你上传了镜像不是你想要的如何删除上传上去的镜像
    你需要登录docker hub后使用Delete repository来操作
    很简单,记住删除是不可逆转的,一但删除就永久性删除

    删除本地镜像不用说吧:
    $docker rmi yvanqian/qian

    相关文章

      网友评论

          本文标题:ubuntu系统安装docker镜像三——用Dockerfile

          本文链接:https://www.haomeiwen.com/subject/nhclfftx.html