zoukankan      html  css  js  c++  java
  • 容器镜像-介绍

    1 Dockerfile

      将应用打包成镜像前,需要先创建一个Dockerfile的文件,其包含了一系列构建镜像时会执行的指令。

    2 构建容器镜像

    构建镜像命令:

    $ docker build -t image_name .
    

    其中,image_name是镜像名称;
    构建镜像过程
    1)Docker客户端将整个目录文件(包括Dockerfile)上传到Docker守护进程并运行;
    2)在构建过程中,Docker会首次从公开的镜像仓库拉取基础镜像,除非已经拉取过镜像并存储在本机上;(这里涉及到镜像分层的概念)
    3)构建完成,新的镜像存储在本地;可通过docker images命令查看本地镜像。
    镜像分层
      镜像是由多层组成,不同镜像可能会共享分层,这让存储和传输变得高效。如创建的多个镜像都是基于相同基础镜像,所有组成基础镜像的分层只会被存储一次,拉取镜像时,Docker会独立下载每一层,当一些分层之前下载就已经存储在本机是哪个,则Docker只会下载没有被存储的分层。

    3 运行容器镜像

    运行容器命令:

    $ docker run --name container_name -p 8080:8080 -d image_name
    

    其中container_name为新建容器名称,image_name为镜像名称;-d表示容器和命令行分离,即后台运行;-p表示本机8080端口会映射到容器内的8080端口;
    查看运行中容器命令:

    $ docker ps
    

    获取容器信息命令:

    $ docker inspect container_name
    

    其中container_name为容器名称;

    4 容器内部运行

    容器内运行shell命令:

    $ docker exec -it container_name bash
    

    其中container_name为容器名称;-i表示确保标准输入流保持开放,-t表示分配一个伪终端;可使用exit命令退出容器返回宿主机。
      容器拥有独立的进程树和文件系统;

    5 停止和删除容器

    停止容器命令:

    $ docker stop container_name
    

    其中container_name为容器名称;容器虽然停止,但还是存在,可通过docker ps -a命令查看所有的容器(包括运行中和已停止的容器)
    删除容器命令:

    $ docker rm container_name
    

    其中container_name为容器名称;

    6 推送镜像

    打tag命令:

    $ docker tag image_name tag_name
    

    其中image_name为镜像名称,tag_name为标签名称;
    推送镜像命令:

    $ docker push tag_name
    

    其中tag_name为镜像标签名称;
      除了可以使用镜像名称进行运行,也可以使用tag

    $ docker run -p 8080:8080 -d tag_name 
    

    其中tag_name为镜像标签名称;

  • 相关阅读:
    跨域导致FormsAuthentication.Decrypt报错:填充无效,无法被移除
    Php构造函数construct的前下划线是双的_
    DNN学习资源整理
    改进housemenu2使网站导航亲Seo并在新窗口中打开。
    推荐10款非常优秀的 HTML5 开发工具
    Ext.Net系列:安装与使用
    Devexpress 破解方法
    Microsoft Visual Studio 2010 遇到了异常,可能是由某个扩展导致的
    浮躁和互联网
    chrome 默认以 https打开网站
  • 原文地址:https://www.cnblogs.com/Andya/p/12402881.html
Copyright © 2011-2022 走看看