zoukankan      html  css  js  c++  java
  • Docker-创建镜像

    1.什么是Docker镜像?

    Docker 镜像是由文件系统叠加而成(是一种文件的存储形式)。最底端是一个文件引 导系统,即 bootfs,这很像典型的 Linux/Unix 的引导文件系统。Docker 用户几乎永远不会和 引导系统有什么交互。实际上,当一个容器启动后,它将会被移动到内存中,而引导文件系 统则会被卸载,以留出更多的内存供磁盘镜像使用。Docker 容器启动是需要一些文件的, 而这些文件就可以称为 Docker 镜像。

    2.镜像的创建?

    (1)在我们开始构建镜像之前,让我们先“容器化”它们。为你的所有 Docker 镜像创建目录,这样你就可以维护不同的项目和阶段,并保持它们彼此隔离。

    mkdir dockerprojects
    cd dockerprojects
    

    (2)创建一个 Dockerfile 文件

    touch Dockerfie
    

    (3)然后在 Dockerfile 文件中添加 FROM ubuntu

    然后保存它,我选择的是终端中的vim,可以使用  :wq  来实现保存退出

    FROM ubuntu
    

    (4)创建一个新镜像(注意有个点)

     # docker build -t  镜像的名称
      docker build -t my_docker . 
    

    (5)创建完之后,有如下字样

    Step 1/1 : FROM ubuntu
    ---> 2a4cca5ac898
    Successfully built 2a4cca5ac898
    Successfully tagged my_docker:latest
    

    (6)运行测试镜像

    docker run -it Ubuntu
    

    (7)可以看到如下展示

    root@c06fcd6af0e8:/#
    

    这意味着在 Linux、Windows、或者 macOS 中你可以运行一个最小的 Ubuntu 了。你可以运行所有的 Ubuntu 原生命令或者 CLI 实用程序。

    (8)可以采用命令: docker image ls 来查看镜像文件的信息

    $docker image ls
    REPOSITORY TAG IMAGE ID CREATED SIZE
    dockp latest 2a4cca5ac898 1 hour ago 111MB
    ubuntu latest 2a4cca5ac898 1 hour ago 111MB
    hello-world latest f2a91732366c 8 weeks ago 1.85kB
    

    你可以看到共有三个镜像:dockpUbuntu、和 hello-world, hello-world 是我在几周前创建的,这一系列的前面的文章就是在它下面工作的。构建一个完整的 LAMP 栈可能是一个挑战,因此,我们使用 Dockerfile 去创建一个简单的 Apache 服务器镜像。

    从本质上说,Dockerfile 是安装所有需要的包、配置、以及拷贝文件的一套指令。在这个案例中,它是安装配置 Apache 和 Nginx。

    你也可以在 DockerHub 上去创建一个帐户,然后在构建镜像之前登入到你的帐户,在这个案例中,你需要从 DockerHub 上拉取一些东西。从命令行中登入 DockerHub,运行如下所求的命令:

    docker login
    

    在登入时输入你的用户名和密码。

    接下来,为这个 Docker 项目,在目录中创建一个 Apache 目录:

    mkdir apache
    

    在 Apache 目录中创建 Dockerfile 文件:

    touch Dockerfile

    然后,粘贴下列内容:

    然后,构建镜像(注意点):

    这将花费一些时间,然后你将看到如下的构建成功的消息:

    Successfully built e7083fd898c7
    Successfully tagged ng:latest
    Swapnil:apache swapnil$

    现在,我们来运行一下这个服务器

    发现了吗,你的容器镜像已经运行了。可以运行如下的命令来检查所有运行的容器:

    你可以使用 docker kill 命令来杀死容器:

    正如你所见,这个 “镜像” 它已经永久存在于你的目录中了,而不论运行与否。现在你可以根据你的需要创建很多的镜像,并且可以从这些镜像中繁衍出来更多的镜像。

    这就是如何去创建镜像和运行容器。

    想学习更多内容,你可以打开你的浏览器,然后找到更多的关于如何构建像 LAMP 栈这样的完整的 Docker 镜像的文档。这里有一个帮你实现它的 Dockerfile 文件。

  • 相关阅读:
    Testdisk 操作指南(硬盘分区表恢复)
    ThinkPHP下使用Uploadify插件提示HTTP Error (302)错误的解决办法
    C#获取计算机CPU的温度
    C# 获取显示器的物理尺寸或分辨率
    获取windows 操作系统下的硬件或操作系统信息等
    AD CS relay attack
    内网密码收集[Foxmail]解密
    如果你是业务线的程序员
    浅析php curl_multi_*系列函数进行批量http请求
    memcached讲解
  • 原文地址:https://www.cnblogs.com/zxh1297/p/9394462.html
Copyright © 2011-2022 走看看