镜像

DOCKER 常见命令

核能气质少年 提交于 2020-01-09 14:11:30
DOCKER 常见命令行 初学者在学习 Docker 的时候容易弄混镜像和容器,这里我把镜像和容器的区别整理了一下,列出了常用的命令行。镜像相当于压缩包,容器相当于压缩包解压得到的软件。 删除所有不在运行的容器 有时候我们在用 docker ps -a 查看所有容器时候会发现很多停掉的容器,一个一个删除很麻烦,下面的命令可以删除所有状态为 Exited 的 docker 容器 docker rm `docker ps - a | grep Exited | awk '{print $1}' ` 删除名称或标签为none的镜像 docker rmi - f `docker images | grep '<none>' | awk '{print $3}' 来源: CSDN 作者: yaos829 链接: https://blog.csdn.net/yaos829/article/details/103904267

DevOps专题|Packer使用教程

浪子不回头ぞ 提交于 2020-01-09 13:23:47
什么是Packer 简单介绍一下自己 Packer 是一个轻量命令行工具, 能在几乎所有主流的操作系统上运行。 在给定一份配置文件的情况下, Packer 能为多种系统架构创建云主机镜像。同时 Packer 自身也能够做到多镜像并发创建, 大大节省了镜像创建过程中的时间成本。 为什么要用 Packer 为什么呢? 当然是因为使用预制的镜像有非常多的好处, 最简单来说,就是能最大程度地保证不同机器上服务的一致性(以经验来看这一点非常重要)。但是在实际使用中, 镜像因其创建/管理的工作单调且复杂, 很多情况下镜像还没有被完全普及。 现有的镜像自动化创建工具, 要么是不好用或不方便, 要么就是学习曲线太高。这些特点导致运维团队投入过多的精力在镜像的使用中, 进而导致工作效率以及敏捷性被阻碍。这就是为什么虽然镜像的工作方式具有非常多的优势,但是却依旧没有被大规模的普及。 Packer 依据单个的配置文件, 能做到流水线式 + 并发的创建镜像,与传统手工操作相比,其 " Infrastructure as Code " 的工作方式也大大减少了失误的概率。 至少在 Packer 官方认为: Packer brings pre-baked images into the modern age, unlocking untapped potential and opening new

DevOps专题|Packer使用教程

送分小仙女□ 提交于 2020-01-09 13:04:36
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 什么是Packer 简单介绍一下自己 Packer 是一个轻量命令行工具, 能在几乎所有主流的操作系统上运行。 在给定一份配置文件的情况下, Packer 能为多种系统架构创建云主机镜像。同时 Packer 自身也能够做到多镜像并发创建, 大大节省了镜像创建过程中的时间成本。 为什么要用 Packer 为什么呢? 当然是因为使用预制的镜像有非常多的好处, 最简单来说,就是能最大程度地保证不同机器上服务的一致性(以经验来看这一点非常重要)。但是在实际使用中, 镜像因其创建/管理的工作单调且复杂, 很多情况下镜像还没有被完全普及。 现有的镜像自动化创建工具, 要么是不好用或不方便, 要么就是学习曲线太高。这些特点导致运维团队投入过多的精力在镜像的使用中, 进而导致工作效率以及敏捷性被阻碍。这就是为什么虽然镜像的工作方式具有非常多的优势,但是却依旧没有被大规模的普及。 Packer 依据单个的配置文件, 能做到流水线式 + 并发的创建镜像,与传统手工操作相比,其 " Infrastructure as Code " 的工作方式也大大减少了失误的概率。 至少在 Packer 官方认为: Packer brings pre-baked images into the modern age, unlocking

Dockerfile详解

自古美人都是妖i 提交于 2020-01-09 11:16:17
一、关于Dockerfile 在Docker中创建镜像最常用的方式,就是使用Dockerfile。Dockerfile是一个Docker镜像的描述文件,我们可以理解成火箭发射的A、B、C、D…的步骤。Dockerfile其内部 包含了一条条的指令 , 每一条指令构建一层,因此每一条指令的内容,就是描述该层应当如何构建 。 一个Dockerfile的示例如下所示: #基于centos镜像 FROM centos #维护人的信息 MAINTAINER The CentOS Project <303323496@qq.com> #安装httpd软件包 RUN yum -y update RUN yum -y install httpd #开启80端口 EXPOSE 80 #复制网站首页文件至镜像中web站点下 ADD index.html /var/www/html/index.html #复制该脚本至镜像中,并修改其权限 ADD run.sh /run.sh RUN chmod 775 /run.sh #当启动容器时执行的脚本文件 CMD ["/run.sh"] 二、Dockerfile常用指令 首先,来一张通俗易懂的 全景图 : 2.1 FROM   指明构建的新镜像是来自于哪个基础镜像,例如: FROM centos:6 2.2 MAINTAINER   指明镜像维护着及其联系方式

docker安装各类软件

一曲冷凌霜 提交于 2020-01-09 06:43:03
安装Docker Docker 要求 CentOS 系统的内核版本高于 3.10 , uname -r 命令查看你当前的内核版本 1 安装一些必要的系统工具: sudo yum install -y yum-utils device-mapper-persistent-data lvm2    2 添加软件源信息: sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo 3 更新 yum 缓存: sudo yum makecache fast 4 安装 Docker-ce: sudo yum -y install docker-ce 5 启动 Docker 后台服务 sudo systemctl start docker 6 配置 镜像加速 vim /etc/docker/daemon.json { "registry-mirrors": ["http://hub-mirror.c.163.com"] } docker删除命令 sudo yum remove docker-ce sudo rm -rf /var/lib/docker Docker 安装mysql 1 查找Docker Hub上的mysql镜像 docker search

docker学习之路-nginx镜像(翻译)

大兔子大兔子 提交于 2020-01-09 00:38:45
本篇来自https://hub.docker.com/_/nginx/?tab=description 它是docker hub上nginx的官方网站,上面有关于nginx的使用描述等。从这里你可以找到关于docker的nginx镜像,使用 docker pull nginx 来拉取最新版本的nginx docker镜像。 想要在docker下安装nginx,但是按照网上的文章没有成功启用,翻译一下官方的信息,记录一下吧。 快速参考 在哪里寻求帮助 : the Docker Community Forums , the Docker Community Slack , or Stack Overflow 在哪里提交问题 : https://github.com/nginxinc/docker-nginx/issues 谁在维护 : the NGINX Docker Maintainers 受支持的架构 : ( more info ) amd64 , arm32v6 , arm32v7 , arm64v8 , i386 , ppc64le , s390x 已发布的镜像制品清单 : repo-info repo's repos/nginx/ directory ( history ) (image metadata, transfer size, etc) 镜像的升级历史 :

docker数据与管理

泄露秘密 提交于 2020-01-08 23:52:59
docker镜像的创建方法 创建镜像的方法有三种,分别是基于已有的镜像创建,基于本地模板创建及基于docker创建。 基于已有镜像创建 基于已有的镜像创建主要使用docker commit命令, 常用选项: -m:说明信息 -a: 作者信息 -p: 生成过程中停止容器的运行 命令格式 docker commit [选项] 容器id/名称 仓库名称:[标签] 基于本地模板创建 通过导入操作系统模板文件可以生成镜像,模板可以从OPENVZ开源项目下载,下载地址为 http://openvz.org/Download/template/precreated 介绍下载ubuntu模板压缩包,使用docker导入命令导入为本地镜像 基于dockerfile创建 dockerfile结构大致分为4个部分:基础镜像信息,维护者信息,镜像操作指令和容器启动时执行的指令。 #提前导入一个centos容器 1.创建工作目录 2.创建并编写dockerfile文件 3.编写执行脚本内容 4.创建测试网页 5.使用dockerfile生成镜像 编写完dockerfile及相关内容之后,可以通过docker build命令来创建镜像 命令格式 docker build [选项] 路径 常用选项 -t 指定镜像的标签信息 #最后一个点 . 代表当前路径。 6.使用新镜像运行容器 -p 12345:80

搭建Docker私有仓库

时间秒杀一切 提交于 2020-01-08 23:32:36
安装: 1、安装docker 详细安装可查看: CentOS安装docker 2、设置镜像加速器(这个操作一定要做,不然拉取镜像贼慢) 在/etc/docker/目录创建daemon.json,内容为: { "registry-mirrors": ["https://08jq45ly.mirror.aliyuncs.com"] } 这个地址不是固定的,每个阿里账户都可以申请一个(申请地址: https://cr.console.aliyun.com )。也可以用其他的加速器,比如网易的http://hub-mirror.c.163.com,但速度很慢。 设置完后重启docker。 systemctl daemon-reload systemctl restart docker 3、拉取registry镜像 docker pull registry #拉取latest镜像 https://hub.docker.com/_/registry?tab=tags 可以查看可用的镜像标签 4、启动私有仓库 docker run -d -p 5000:5000 -v /var/lib/registry:/var/lib/registry --restart always --name registry registry:latest -d:后台运行 - 5000:5000:端口映射 -v

docker私有仓库的创建

女生的网名这么多〃 提交于 2020-01-08 19:38:25
由于部分图片的问题,附上有道云笔记中的链接:http://note.youdao.com/noteshare?id=973cd2cd200dca3769bc9cd2a6b9b746&sub=71498BEACB1F42DE99EDF4B403145BC7 Docker私有仓库的安装 1.Registry 官方的Docker hub是一个用于管理公共镜像的好地方,我们可以在上面找到我们想要的镜像,也可以把我们自己的镜像推送上去。但是,有时候,我们的使用场景需要我们拥有一个私有的镜像仓库用于管理我们自己的镜像。这个可以通过开源软件Registry来达成目的。 Registry在github上有两份代码:老代码库和新代码库。老代码是采用python编写的,存在pull和push的性能问题,出到0.9.1版本之后就标志为deprecated,不再继续开发。从2.0版本开始就到在新代码库进行开发,新代码库是采用go语言编写,修改了镜像id的生成算法、registry上镜像的保存结构,大大优化了pull和push镜像的效率。 官方在Docker hub上提供了registry的镜像(详情),我们可以直接使用该registry镜像来构建一个容器,搭建我们自己的私有仓库服务。Tag为latest的registry镜像是0.9.1版本的,我们直接采用2.1.1版本。 2.Registry部署 2.1

docker镜像管理基础

风流意气都作罢 提交于 2020-01-08 19:29:09
docker是属于联合挂载,最上层的为可写成,下面的镜像都为只读挂载的,这个功能建立在特殊的文件系统上,docker info可以看到 Storage Driver: overlay2 Backing Filesystem: xfs overlay2这个是一个特殊的文件系统,用来支持联合挂载的功能,但是这个文件系统是建立在xfs的底层文件系统之上的,不同的系统这里会不一样 docker容器官方镜像地址 hub.docker.com 镜像的制作方式 dockerfile 基于容器制作 先启动一个容器,在容器中做好你要做的修改,然后将这个做好修改的可写层打包作为一个镜像,比如:在一个cnetos的基础镜像上,安装一个nginx,将这个可写层使用docker commit命令打包为一个镜像 示例: 基于容器制作 [root@localhost ~]# docker run --name b1 -i -t busybox / # ls bin dev etc home proc root sys tmp usr var / # mkdir -p /data/html / # vi /data/html/index.html vi /data/html/index.html <h1>Busybox httpd server.</h1> 基于容器制作镜像时,容器应该处于运行状态