镜像

Docker 简单应用

﹥>﹥吖頭↗ 提交于 2020-01-01 13:35:54
Docker 允许你在容器内运行应用程序, 使用 docker run 命令来在容器内运行一个应用程序。 输出Hello world runoob@runoob:~$ docker run ubuntu:15.10 /bin/echo "Hello world" Hello world 各个参数解析: docker: Docker 的二进制执行文件。 run:与前面的 docker 组合来运行一个容器。 ubuntu:15.10指定要运行的镜像,Docker首先从本地主机上查找镜像是否存在,如果不存在,Docker 就会从镜像仓库 Docker Hub 下载公共镜像。 /bin/echo "Hello world": 在启动的容器里执行的命令 以上命令完整的意思可以解释为:Docker 以 ubuntu15.10 镜像创建一个新容器,然后在容器里执行 bin/echo "Hello world",然后输出结果。 运行交互式的容器 我们通过docker的两个参数 -i -t,让docker运行的容器实现"对话"的能力 runoob@runoob:~$ docker run -i -t ubuntu:15.10 /bin/bash root@dc0050c79503:/# 各个参数解析: -t:在新容器内指定一个伪终端或终端。 -i:允许你对容器内的标准输入 (STDIN) 进行交互。

Docker基本使用(一)

ぐ巨炮叔叔 提交于 2020-01-01 13:35:41
使用docker输入hello world   Docker 允许你在容器内运行应用程序, 使用 docker run 命令来在容器内运行一个应用程序。 输出Hello world $ docker run ubuntu:15.10 /bin/echo "Hello world" Hello world 各个参数解析: docker: Docker 的二进制执行文件。 run: 与前面的 docker 组合来运行一个容器。 ubuntu:15.10 指定要运行的镜像,Docker首先从本地主机上查找镜像是否存在,如果不存在,Docker 就会从镜像仓库 Docker Hub 下载公共镜像。 /bin/echo "Hello world": 在启动的容器里执行的命令 以上命令完整的意思可以解释为:Docker 以 ubuntu15.10 镜像创建一个新容器,然后在容器里执行 bin/echo "Hello world",然后输出结果。 运行交互式的容器   我们通过docker的两个参数 -i -t,让docker运行的容器实现"对话"的能力 $ docker run -i -t ubuntu:15.10 /bin/bash 各个参数解析: -t: 在新容器内指定一个伪终端或终端。 -i: 允许你对容器内的标准输入 (STDIN) 进行交互。 此时我们已进入一个 ubuntu15

dock helloworld

Deadly 提交于 2020-01-01 13:33:35
Docker Hello World Docker 允许你在容器内运行应用程序, 使用 docker run 命令来在容器内运行一个应用程序。 输出Hello world runoob@runoob:~$ docker run ubuntu:15.10 /bin/echo "Hello world" Hello world 各个参数解析: docker: Docker 的二进制执行文件。 run: 与前面的 docker 组合来运行一个容器。 ubuntu:15.10 指定要运行的镜像,Docker首先从本地主机上查找镜像是否存在,如果不存在,Docker 就会从镜像仓库 Docker Hub 下载公共镜像。 /bin/echo "Hello world": 在启动的容器里执行的命令 以上命令完整的意思可以解释为:Docker 以 ubuntu15.10 镜像创建一个新容器,然后在容器里执行 bin/echo "Hello world",然后输出结果。 运行交互式的容器 我们通过docker的两个参数 -i -t,让docker运行的容器实现"对话"的能力 runoob@runoob:~$ docker run -i -t ubuntu:15.10 /bin/bash root@dc0050c79503:/# 各个参数解析: -t: 在新容器内指定一个伪终端或终端。 -i:

8 分钟入门 K8s | 详解容器基本概念

半世苍凉 提交于 2020-01-01 13:32:03
一、容器与镜像 什么是容器? 在介绍容器的具体概念之前,先简单回顾一下操作系统是如何管理进程的。 首先,当我们登录到操作系统之后,可以通过 ps 等操作看到各式各样的进程,这些进程包括系统自带的服务和用户的应用进程。那么,这些进程都有什么样的特点? 第一,这些进程可以相互看到、相互通信; 第二,它们使用的是同一个文件系统,可以对同一个文件进行读写操作; 第三,这些进程会使用相同的系统资源。 这样的三个特点会带来什么问题呢? 因为这些进程能够相互看到并且进行通信,高级权限的进程可以攻击其他进程; 因为它们使用的是同一个文件系统,因此会带来两个问题:这些进程可以对于已有的数据进行增删改查,具有高级权限的进程可能会将其他进程的数据删除掉,破坏掉其他进程的正常运行;此外,进程与进程之间的依赖可能会存在冲突,如此一来就会给运维带来很大的压力; 因为这些进程使用的是同一个宿主机的资源,应用之间可能会存在资源抢占的问题,当一个应用需要消耗大量 CPU 和内存资源的时候,就可能会破坏其他应用的运行,导致其他应用无法正常地提供服务。 针对上述的三个问题,如何为进程提供一个独立的运行环境呢? 针对不同进程使用同一个文件系统所造成的问题而言,Linux 和 Unix 操作系统可以通过 chroot 系统调用将子目录变成根目录,达到视图级别的隔离;进程在 chroot 的帮助下可以具有独立的文件系统

8 分钟入门 K8s | 详解容器基本概念

拈花ヽ惹草 提交于 2020-01-01 13:31:41
一、容器与镜像 什么是容器? 在介绍容器的具体概念之前,先简单回顾一下操作系统是如何管理进程的。 首先,当我们登录到操作系统之后,可以通过 ps 等操作看到各式各样的进程,这些进程包括系统自带的服务和用户的应用进程。那么,这些进程都有什么样的特点? 第一,这些进程可以相互看到、相互通信; 第二,它们使用的是同一个文件系统,可以对同一个文件进行读写操作; 第三,这些进程会使用相同的系统资源。 这样的三个特点会带来什么问题呢? 因为这些进程能够相互看到并且进行通信,高级权限的进程可以攻击其他进程; 因为它们使用的是同一个文件系统,因此会带来两个问题:这些进程可以对于已有的数据进行增删改查,具有高级权限的进程可能会将其他进程的数据删除掉,破坏掉其他进程的正常运行;此外,进程与进程之间的依赖可能会存在冲突,如此一来就会给运维带来很大的压力; 因为这些进程使用的是同一个宿主机的资源,应用之间可能会存在资源抢占的问题,当一个应用需要消耗大量 CPU 和内存资源的时候,就可能会破坏其他应用的运行,导致其他应用无法正常地提供服务。 针对上述的三个问题,如何为进程提供一个独立的运行环境呢? 针对不同进程使用同一个文件系统所造成的问题而言,Linux 和 Unix 操作系统可以通过 chroot 系统调用将子目录变成根目录,达到视图级别的隔离;进程在 chroot 的帮助下可以具有独立的文件系统

容器化的 DevOps 工作流

北慕城南 提交于 2020-01-01 13:31:21
对于 devops 来说,容器技术绝对是我们笑傲江湖的法宝。本文通过一个小 demo 来介绍如何使用容器技术来改进我们的 devops 工作流。 devops 的日常工作中难免会有一些繁琐的重复性劳动。比如管理 Azure 上的各种资源,我们会使用 Azure CLI 工具。同时我们也会使用 Ansible 完成一些自动化的任务。当我们同时使用二者的时候就会碰到一些尴尬的事情:Azure CLI 依赖的 python 版本为 3.x,而 Ansible 的主流版本还在依赖 python 2.x。如果我们要同时使用二者,就需要在环境中搞一些飞机。如果团队中的每个成员都需要使用这样的工具,那么每个人的环境中都需要这些飞机!下面是一些比较类似的问题: 一些工作流在陌生的环境中不能正确的工作 在工作流中加入新的工具时,整个团队都需要获取并安装这些新的工具 运行 devops 工作流不能对当前的环境产生影响(应该允许在 build 环境中运行 devops 工作流) 工作流的变化不会对运行环境产生任何的影响 实现这些需求的最好方式就是容器技术!通过容器把我们的 devops 工作流和运行环境隔离开就可以了。文本的 demo 会演示一个非常简单的使用 Azure CLI 的工作流,我们的目标是为整个团队打造一个满足以上需求的工具集(容器镜像)。其大体步骤如下: 创建构造容器镜像的

Docker简介以及使用docker搭建lnmp的过程(多PHP版本)

不问归期 提交于 2020-01-01 13:31:03
一、Docker基础 Docker安装 Docker 要求 Ubuntu 系统的内核版本高于 3.10 ,查看本页面的前提条件来验证你的 Ubuntu 版本是否支持 Docker。 通过 uname -r 命令查看你当前的内核版本 通过 apt-get install docker.io 安装docker Docker常见命令 容器相关操作 docker create # 创建一个容器但是不启动它 例如: docker create -- name mycon php :5.6-fpm docker run # 创建并启动一个容器     -a stdin: 指定标准输入输出内容类型,可选 STDIN/STDOUT/STDERR 三项;     -d: 后台运行容器,并返回容器ID;     -i: 以交互模式运行容器,通常与 -t 同时使用;     -t: 为容器重新分配一个伪输入终端,通常与 -i 同时使用;     --name="nginx-lb": 为容器指定一个名称;     -P: 容器的80端口映射到主机的随机端口     -p: 容器的端口映射到主机的对应端口,例如: -p 80:80     -v: 主机的目录映射(挂载)到容器的目录,例如:-v /home/ubuntu/nginx/www:/www     -m 或 --memory:设置内存使用限额。例如

Docker 学习之命令详解

岁酱吖の 提交于 2020-01-01 13:29:20
1. docker version docker version 显示 Docker 版本信息。 2. docker info docker info 显示 Docker 系统信息,包括镜像和容器数。 3. docker search docker search [options] term docker search -s 10 django 从 Docker Hub 中搜索符合条件的镜像。 --automated 只列出 automated build 类型的镜像; --no-trunc 可显示完整的镜像描述; -s 40 列出收藏数不小于40的镜像。 4. docker pull docker pull [-a] [user/]name[:tag] docker pull laozhu/telescope:latest 从 Docker Hub 中拉取或者更新指定镜像。 -a 拉取所有 tagged 镜像 。 5. docker login root@moon:~# docker login Username: username Password: **** Email: user@domain.com Login Succeeded 按步骤输入在 Docker Hub 注册的用户名、密码和邮箱即可完成登录。 6. docker logout docker logout

Docker的基本使用

帅比萌擦擦* 提交于 2020-01-01 13:23:41
Docker简介   Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。   它是一项 虚拟化技术,应用场景广泛如web部署 可以快速部署我们的应用。 cgroup 技术帮我们实现资源的限制 namespace 来完成对资源的隔离。 docker的安装   参考文档: https://blog.csdn.net/nimoyaoww/article/details/79155489 docker的基本操作 docker images          查看本地的镜像 docker search 镜像名      搜索网上的相关镜像 docker pull 镜像名       拉取你要的镜像 docker rmi 镜像名        删除镜像 docker save 镜像名|gzip>>保存的文件名.tar.gz 将拉取下来的镜像保存在本地 docker load < 保存的文件名.tar.gz 将保存的镜像文件重新加载 docker inspect 容器名或id             能查看到此容器的信息 docker logs 容器名或id               查看日志 如果加了-f 参数就可以动态查看日志 docker

Docker与LXC、虚拟化技术的区别——虚拟化技术本质上是在模拟硬件,Docker底层是LXC,本质都是cgroups是在直接操作硬件

心不动则不痛 提交于 2020-01-01 13:23:25
先说和虚拟化技术的区别: 难道虚拟技术就做不到吗? 不不不,虚拟技术也可以做到,但是会有一定程度的性能损失,灵活度也会下降。 容器技术不是模仿硬件层次,而是 在Linux内核里使用cgroup和namespaces来打造轻便的、将近裸机速度的虚拟技术操作系统环境。因为不是虚拟化存储,所以容器技术不会管 底层存储或者文件系统,而是你放哪里,它操作哪里。 这从根本上改变了我们如何虚拟化工作负载和应用程序, 因为容器速度比硬件虚拟化技术更快,更加便捷,弹性扩容的更加高效 ,只是它的工作负载要求操作系统,而不是Linux或特定的Linux内核版本。 那VMWare就这样玩完了? 没那么快!虚拟技术相对成熟,又有广泛的工具,还有生态系统来支持它在不同环境下的配置。至于工作负载,它要求非Linux操作系统,或者只能使用特定的核心虚拟化技术。 -------------------------------------- Docker 并不是LXC的替代品,Docker的底层就是使用了LXC来实现的。LXC将 Linux 进程沙盒化,使得进程之间相互隔离,并且能够控制各进程的资源分配。 在LXC的基础之上,Docker提供了一系列更强的功能。 可移植性 Docker定义了一种新的格式,将应用和其依赖环境全部打包到一个单一对象中, 这个对象可以在任何安装有Docker的机器上共享,在任何机器上