运行命令

Docker打包应用部署

早过忘川 提交于 2019-12-07 14:29:04
centos 安装docker 其他操作系统自行百度 Image 文件 Docker把应用程序及其依赖打包在一个image文件里面,可以理解为一个容器的说明书. 通过这个image文件可以生成容器的实例.同一个image文件可以生成同时运行的多个实例. image文件是一个二进制文件,实际上,一个image文件往往继承自另外一个image文件,加上一些个性化设置而成.举例来说:你可以在ubuntu的image基础上加上Apache服务器,形成你自己的image. # 列出本机的所有 image 文件。 $ docker image ls # 删除 image 文件 $ docker image rm [imageName] 并且image文件是通用的,一台机器上的image文件拷贝到另一台机器上,照样可以使用.一般来说,我们往往是使用别人制定好的image文件,及时要定制,也可以对已有的image文件进行加工,而不是从头制作,这样可以节省很多时间. 为了方便,image制作完成后,可以上传到网上的仓库,Docker 的官方仓库 https://hub.docker.com/ 是最重要、最常用的 image 仓库。此外,出售自己制作的 image 文件也是可以的。 container 容器文件 image文件生成的实例本身也是一个文件,成为容器文件.也即是说,一旦容器生成

Docker镜像

柔情痞子 提交于 2019-12-07 14:17:39
什么是容器镜像 容器镜像是容器的模板。容器是容器镜像的实例。 容器镜像打包了整个操作系统的文件和目录,即rootfs。 容器镜像采用分层结构:所有容器共享宿主机的Kernel,并且无法修改内核,容器运行时使用自己的操作系统+宿主机的Kernel. Docker 镜像构成 Docker镜像分为镜像层和容器层,镜像层是只读的,容器层是读写的。 容器中的文件修改,都保存在容器层。 Docker commit 将正在运行的容器打包成一个新的镜像,本质是通过复制最上面的可读写层和原先镜像的只读层。 Docker history 查看镜像的构建历史,按照镜像层的顺序由上而下排列。 Dockerfile FROM:指定基础镜像,必须为第一个命令 MAINTAINER: 维护者信息 RUN:构建镜像时执行的命令,必须是基础镜像支持的命令。 格式: RUN < command > exec执行 格式: RUN [ "executable" , "param1" , "param2" ] 示例: RUN [ "executable" , "param1" , "param2" ] RUN apk update RUN [ "/etc/execfile" , "arg1" , "arg1" ] 注:   RUN指令创建的中间镜像会被缓存,并会在下次构建中使用。如果不想使用这些缓存镜像,可以在构建时指定-

使用Dockerfile构建一个镜像

帅比萌擦擦* 提交于 2019-12-07 13:19:44
通用步骤: 1.准备需要运行命令所需要依赖的环境 2.将要运行的命令添加到要构建的镜像中 3.运行命令 例如: FROM python:2.7 LABEL maintainer="1046001610@qq.com" RUN pip install flask COPY app.py /app/ WORKDIR /app EXPOSE 5000 CMD ["python", "app.py"] 来源: CSDN 作者: 龙卷风zc 链接: https://blog.csdn.net/longjuanfengzc/article/details/89335213

Docker-使用Dockerfile创建镜像

流过昼夜 提交于 2019-12-07 13:16:56
1、基本结构 Dockerfile由一行行命令语句组成,并支持以#开头的注释行。例如: # This dockerfile uses the ubuntu image # VERSION 2 - EDITION 1 # Author: docker_user # Command format: Instruction [arguments / command ] .. # Base image to use, this nust be set as the first line FROM ubuntu # Maintainer: docker_user <docker_user at email.com> (@docker_user) MAINTAINER docker_user docker_user@email.com # Commands to update the image RUN echo "deb http://archive.ubuntu.com/ubuntu/ raring main universe" >> /etc/apt/sources.list RUN apt-get update && apt-get install -y nginx RUN echo "\ndaemon off;" >> /etc/nginx/nginx.conf # Commands

docker学习之常用Dockerfile指令

梦想与她 提交于 2019-12-07 13:12:58
今天我们学习几个常用的Dockerfile指令,在 http://docs.docker.com/reference/builder/ 可以查看Dockerfile中能使用的全部指令的清单。 一、CMD指令 CMD指令用于指定一个容器启动时要运行的命令,这与RUN指令有点类似,但RUN指令是指定镜像被构建时要运行的命令,而CMD指令是指定容器被启动时要运行的命令,这与docker run命令运行容器时指定容器运行程序类似。 CMD [ "/bin/bash" ] $ docker run - it ubuntu /bin/bash 上述两条指令是等效的,实际上docker run命令是启动容器时才指定运行的指令,而CMD指定的命令在构建镜像时就已经确定,运行基于镜像的容器,CMD指令指定的命令就会运行。 在CMD指令中也可以为要运行的命令指定参数: CMD [ "/bin/bash" , "-l" ] docker run命令会覆盖CMD命令,如果我们在Dockerfile里指定了CMD指令,在创建容器的docker run命令中也指定了要运行的命令,这样容器启动后会运行docker run指定的命令,这样看起来CMD指令就被docker run命令覆盖了,另外一个值得注意的地方是:在Dockerfile中只能指定一条CMD命令,如果存在多条,只有最后一条CMD指令会起作用

Docker-DockerFile指令详解

坚强是说给别人听的谎言 提交于 2019-12-07 13:11:54
我们已经介绍了 FROM , RUN ,还提及了 COPY , ADD ,其实 Dockerfile 功能很强大,它提 供了十多个指令。下面我们继续讲解其他的指令 FROM 所谓定制镜像,那么就一定是以一个镜像为基础,在其上进行修改定制。就像我们之前运行了一个Nginx的容器,在其上面修改一样,基础容器是必需指定的。而 FROM 就是指定基础镜像,因此在DockerFile中, FROM 是必备指定,并且必需是第一条指令! 除了指定现有的基础镜像以外,DockerFile还存在一个特殊的镜像 srcatch ,这个镜像是一个虚拟的概念,并不实际存在,它表示一个空白的镜像: FROM scratch ... 如果你以 scratch 作为基础镜像,意味着你将不使用任何镜像为基础,接下来你所写的指令将作为第一层开始存在。不以任何系统为基础,直接将可执行文件复制进镜像的做法并不罕见。如 swarm 、 coreos/etcd 。对Linux下静态编译的程序来说,并不需要其他操作提供其运行时支持,所需的一切库都在可执行文件里了,因此使用 scratch 作为基础,可以使镜像的体积更加小巧。 RUN RUN 指令是用来执行命令行命令的,由于命令行的强大功能, RUN 指令是定制镜像时最常用的指令之一。其格式有两种: shell格式 :就像在命令行中输入的Shell脚本命令一样,比如之前的:

Docker(三):Dockerfile 命令详解

戏子无情 提交于 2019-12-07 13:10:30
上一篇文章 Docker(二):Dockerfile 使用介绍 介绍了 Dockerfile 的使用,这篇文章我们来继续了解 Dockerfile ,学习 Dockerfile 各种命令的使用。 Dockerfile 指令详解 1 FROM 指定基础镜像 FROM 指令用于指定其后构建新镜像所使用的基础镜像。FROM 指令必是 Dockerfile 文件中的首条命令,启动构建流程后,Docker 将会基于该镜像构建新镜像,FROM 后的命令也会基于这个基础镜像。 FROM语法格式为: FROM <image> 或 FROM <image> :<tag> 或 FROM <image> :<digest> 通过 FROM 指定的镜像,可以是任何有效的基础镜像。FROM 有以下限制: FROM 必须 是 Dockerfile 中第一条非注释命令 在一个 Dockerfile 文件中创建多个镜像时,FROM 可以多次出现。只需在每个新命令 FROM 之前,记录提交上次的镜像 ID。 tag 或 digest 是可选的,如果不使用这两个值时,会使用 latest 版本的基础镜像 2 RUN 执行命令 在镜像的构建过程中执行特定的命令,并生成一个中间镜像。格式: #shell格式 RUN <command> #exec格式 RUN [ "executable" , "param1" ,

这可能是最为详细的Docker入门吐血总结

风格不统一 提交于 2019-12-07 13:09:05
这可能是最为详细的Docker入门吐血总结 2018-10-15 18:00 来源: Hadoop大数据应用 </div> 原标题:这可能是最为详细的Docker入门吐血总结 Docker是什么? 在计算机技术日新月异的今天, Docker 在国内发展的如火如荼,特别是在一线互联网公司, Docker 的使用是十分普遍的,甚至成为了一些企业面试的加分项,不信的话看看下面这张图。 这是我在某招聘网站上看到的招聘 Java开发工程师 的招聘要求,其中有一条熟悉 docker 成为了你快速入职的加分项,由此可见熟悉 docker 在互联网公司的地位之重要。 当然对于我们 CTF选手 而言,熟悉 docker 可以快速搭建 CTF环境 ,完美地还原比赛真实漏洞的场景,帮助我们快速提升自己。 市面上已经有很多优秀的教程,但是很多原理性的东西,笔者认为那些教程对初学者而言还是很难理解,感觉没有说清楚(笔者自己都觉得挺懵逼的),为了让初学者少走弯路,我将以我的学习经历以及作为一个 CTF选手 的角度,编写此套教程,来带大家去了解并熟练运用 docker ,祝愿各位读者朋友们学完此套教程后,在未来企业面试中能够多一项加分的筹码,能够帮助到大家,我觉得就很值了。 既然说了这么多, docker 到底是个什么东西呢? 我们在理解 docker 之前,首先我们得先区分清楚两个概念, 容器 和 虚拟机 。

Docker学习总结

萝らか妹 提交于 2019-12-07 13:04:37
由于项目中大量使用到了 Docker 容器技术,所以这段时间花了一些时间学习了 docker ,不过比较简单属于入门学习资料吧,下面是对两个星期利用零碎时间学习 docker 的总结 : 主要参考来源 :http://cloudman.blog.51cto.com/10425448/p-5 写在前面的话 每一轮新技术的兴起,无论对公司还是个人既是机会也是挑战。 我个人的看法是: 如果某项新技术未来将成为主流,就应该及早尽快掌握 。 因为: 1 、 新技术意味着新的市场和新的需求。 初期掌握这种技术的人不会很多,而市场需求会越来越大,因而会形成供不应求的卖方市场,物以稀为贵,这对技术人员将是一个难得的价值提升机会。 2 、 学习新技术需要时间和精力,早起步早成材。 3 、本文主要总结容器核心知识,进阶知识以后有机会在学习 What - 什么是容器? 容器是一种轻量级、可移植、自包含的软件打包技术,使应用程序可以在几乎任何地方以相同的方式运行。开发人员在自己笔记本上创建并测试好的容器,无需任何修改就能够在生产系统的虚拟机、物理服务器或公有云主机上运行。 How-为什么需要容器? Docker 将集装箱思想运用到软件打包上,为代码提供了一个基于容器的标准化运输系统。Docker 可以将任何应用及其依赖打包成一个轻量级、可移植、自包含的容器。容器可以运行在几乎所有的操作系统上 容器基本入门

docker run hello-world

 ̄綄美尐妖づ 提交于 2019-12-07 08:44:15
docker 安装好可以使用示例程序docker run hello-world测试docker: 首先docker以系统root用户运行。在linux系统上,需要使用sudo来执行docker命令行工具,如果不这样做会导致系统权限错误。 运行本条命令后,docker被激活,它会开始下载各种组件,并最终打印出“hello world”。再次运行只是打印“hello world”。在这个例子中docker做了好几件事情,命令本身有几个不同部分。 第一,可以使用docker run 命令来启动一个新容器。这种单一的命令将触发安装运行序列,如下图所示,以及暂停在容器内的程序。 第二容器中运行的程序是hello world。这句是所谓的仓库(或镜像)名称。现在,你可以把仓库的名称认为是安装或运行的程序的名字。 来源: CSDN 作者: caoyaobin 链接: https://blog.csdn.net/caoyaobin/article/details/76359603