镜像

Docker(四)-Dcoker镜像

删除回忆录丶 提交于 2020-03-21 20:05:46
Docker 运行容器前需要本地存在对应的镜像,如果镜像不存在本地, Docker 会从镜像仓库下载(默认是Docker Hub公共注册服务器中的仓库)。 Docker Hub: https://hub.docker.com 阿里云镜像: https://dev.aliyun.com/search.html 灵雀云: https://hub.alauda.cn/ 镜像 列出镜像列表 我们可以使用 docker images 来列出本地主机上的镜像。 $ sudo docker images REPOSITORY TAG IMAGE ID CREATED SIZE ubuntu 14.04 90d5884b1ee0 5 days ago 188 MB php 5.6 f40e9e0f10c8 9 days ago 444.8 MB nginx latest 6f8d099c3adc 12 days ago 182.7 MB mysql 5.6 f2e8d6c772c0 3 weeks ago 324.6 MB httpd latest 02ef73cf1bc0 3 weeks ago 194.4 MB ubuntu 15.10 4e3b13c8a266 4 weeks ago 136.3 MB hello-world latest 690ed74de00f 6 months ago

docker基础

℡╲_俬逩灬. 提交于 2020-03-21 19:49:01
一、docker简介 1、docker简介 容器( container-based )虚拟化方案 ,充分利用了操作系统本身已有的机制和特性,以 实现轻量级的虚拟化(每个虚拟机安装的不是完整的虚拟机 ), 甚至有人把他称为新一代的虚拟化技术, Docker 无疑就是其中的佼佼者 在一台服务器上同时运行上百个虚拟机,肯定会被认为是痴人说梦,而在一台机器上同时运 行一千个 Docker 容器,这已成为现实 2、Docker 的目标 Build,Ship and Run Any App,Anywhere— 即 通过对 应用组件的封装 (Packaging), 发布(Distribution), 运行 (runing) 等生命周期的管理 , 达到应用组件级别的”一 次封装 , 到处运行 3、docker的特点 优点: 启动快,资源占用小 , 资源利用高,快速构建标准化运行环境 创建 分布式应用程序 时快速交付和部署, 更轻松的迁移和扩展,更简单的更新管理 局限: Docker 是基于 Linux 64bit 的 ,无法在 windows/unix 或 32bit 的 linux环境下使用 LXC 是基于 cgroup 等 linux kernel 功能的,因此 container 的 guest 系统只能是 linux 隔离性相比 KVM 之类的虚拟化方案还是有些欠缺,所有

docker(三):docker镜像管理

我是研究僧i 提交于 2020-03-21 19:45:37
一、基本介绍 docker镜像是容器启动的基础,镜像里面包含容器启动所需要的文件系统及其内容。docker镜像采用分层构建的机制,这种分层大致分为两部分,一部分是最底层的引导文件系统bootfs,类型有aufs,btffs或者overlay2等;另一部分真正让用户来构建用户空间并运行进程的容器称为rootfs。 bootfs:用于引导文件系统,包括BootLoader和kernel,容器启动完成后会被卸载以节约内存资源。(这里说的卸载,是从内存中移除而不是删除) rootfs:位于bootfs之上,表现为docker的根文件系统,比如/dev、/bin之类。 传统模式中,系统启动时,内核挂载rootfs时会先将其挂在为”只读“模式,自检完成后将其重新挂载为读写模式。 docker中,rootfs由内核挂载为”只读“模式,而后通过”联合挂载“技术额外挂载一个”可写“层。(我们在docker container中的操作就是可写层) 分层构建最底层的是基础镜像,位于上层的镜像称为父镜像(系统层),每添加一个镜像都是一个独立的层次。最上层为“可写层”。其它均为“只读”层。删除容器的时候,可写层会一并被删除 启动容器时,docker daemon会试图从本地获取相关镜像;本地不存在时,会从docker Registry(默认就是docker hub)中下载并保存到本地。 docker

docker学习2

|▌冷眼眸甩不掉的悲伤 提交于 2020-03-21 19:16:33
今天继续学习docker! 搜索镜像 docker search centos 下载镜像 docker pull name(镜像名字) 查看镜像 docker images 字段含义分析: TAG:仓库 ,镜像属于哪个仓库 latest:标签 IMAGE ID:ID号 SIZE:镜像大小 CREATED:创建的时间 导出镜像 docker save contos > /opt/centos.tar.gz 找别人拿一个镜像: (导入) docker load < /opt/centos.tar.gz 每一个镜像都有一个唯一的ID: 如何删除一个镜像: docker rmi IMAGE ID #镜像创建了容器是不能被删除的 启动容器方式; 第一次启动容器: docker run centos /bin/echo "hehe" docker run --help 查看 run参数 查看容器: STATUS这个属性表示状态的意思 :退出状态 怎么不让他退出那?,这个容器还没有名字 之前那个我并没有给他命名是系统自动生成的 。 下面来看看这个操作; docker run --name mydocker -t -i centos /bin/bash -t:表示分配一个伪终端tty -i:标准输入保持打开的 t ,i一起使用 声明:容器的主机名和ID一样 执行这个命令(docker run -

docker 知识点

断了今生、忘了曾经 提交于 2020-03-21 19:16:03
docker 教程: http://www.runoob.com/docker/docker-tutorial.html docker 仓库地址: https://store.docker.com/ docker run参数说明: docker run [OPTIONS] IMAGE [COMMAND] [ARG...] 参数 说明 --name [name] 为容器指定一个名称 -d --detach,后台运行容器,并返回容器ID -P --publish-all,容器内部使用的网络端口,随机映射到主机的端口 -p, --publish [主机端口]:[容器内部端口] 容器内部使用的网络端口,绑定到指定的主机端口,比如:80:80,8080:80 --add-host [host]:[ip] 添加host到ip的映射(host:ip), 比如:m1.baidu.com:10.10.10.10 -v, --volume [宿主机目录]:[镜像目录] 把宿主机上的目录挂载到镜像目录,比如:/soft:/data -t --tty,在新容器内指定一个伪终端或终端。 -i --interactive,允许你对容器内的标准输入 (STDIN) 进行交互。 -v --volume value,绑定本机目录到容器目录 --rm 如果容器存在,自动将其删除 docker run 命令示例: 命令

[Docker8]Dockerfiles

柔情痞子 提交于 2020-03-21 11:09:36
Comment INSTRUCTION arguments FROM 基于哪个base镜像 RUN 执行命令并创建新的镜像层,run经常用于安装软件包 MAINTAINER 镜像创建者 copy 将文件从build context复制到镜像 #1 COPY ["src","dest"] COPY src dest #注意:src只能指定build context中的文件 CMD container启动时执行的命令,但是一个Dockerfile中只能有一条CMD命令,多条则只执行最后一条CMD。CMD主要用于container启动时指定的服务 当docker run command的命令匹配到CMD command时,会替换CMD执行的命令。 存在三种使用格式 Exec: CMD ["Command","param1","param2"] CMD ["param1","param2"] 为ENTRYPOINT提供额外的参数,此时ENTRYPOINT必须使用exec格式 CMD command param1 param2 ENTRYPOINT container启动时执行的命令,但是一个Dockerfile中只能有一条ENTRYPOINT命令,如果多条,则只执行最后一条。ENTRYPOINT没有CMD的可替换特性 ENTRYPOINT的exec格式用于设置执行的命令及其参数

Docker之镜像管理常用命令

£可爱£侵袭症+ 提交于 2020-03-21 06:45:05
1.列出当前本地镜像:docker image ls 2.查看镜像历史分层:docker history 镜像名:tag 3.查看镜像具体详情:docker image inspect 镜像名:tag 可以看到容器配置主机名,工作目录,数据卷,标签等信息 。 4.docker image pull nginx:1.11 从docker仓库下载nginx:1.11版本镜像 5.docker image rm busybox:latest 删除镜像 6.docker image tag nginx:latest nginx:V1 改变镜像的标签 7.docker image save nginx:1.11 > nginx1.11.tar 保存镜像重定向为本地文件 8.docker image load < nginx1.11.tar 导入本地文件 docker image export 018eff83b7bf > busybox.tar 导出运行的容器,是一个运行的文件系统 10.docker image import busybox.tar 导入容器,导入后容器是运行中的。 总结:docker save 是导出一个镜像文件包含所有层到一个归档文件, 操作对象是镜像 docker export 是导出一个运行的容器的文件系统到一个归档文件,操作对象是容器 来源: 51CTO 作者:

.NetCore打包docker镜像

不羁的心 提交于 2020-03-21 06:38:31
1..NetCore 项目打包成Docker 镜像 1.1创建一个.NetCore web项目 项目名为 testmvc 此处用的是.NetCore2.1版本 1.2并且在program里面设置启动端口,默认5000 public static IWebHostBuilder CreateWebHostBuilder(string[] args) => WebHost.CreateDefaultBuilder(args) .UseStartup<Startup>() .UseUrls("http://*:8003");   这里设置为8003端口 1.3 发布项目,并且在发布的文件里面创建一个 Dockerfile 文件 1.4 编写 Dockerfile 文件内容 #基于 `microsoft/dotnet:1.0.0-core` 来构建我们的镜像 FROM microsoft/dotnet:2.1-aspnetcore-runtime #拷贝项目publish文件夹中的所有文件到 docker容器中的publish文件夹中 COPY . /publish #设置工作目录为 `/publish` 文件夹,即容器启动默认的文件夹 WORKDIR /publish #设置Docker容器对外暴露8003端口 EXPOSE 8003 #使用`dotnet testmvc.dll

阿里云ECS服务器跨账号无缝迁移

随声附和 提交于 2020-03-21 01:46:43
3 月,跳不动了?>>> 阿里云-通过全盘镜像实现ECS(云服务器)从A账号迁移至B账号 一. 在 A账号的ECS创建快照(系统盘+数据盘)与全盘镜像 单击实例ID进入实例详情 进入本实例磁盘,创建快照(系统盘+数据盘) 查看快照列表,等待快照创建成功 从系统盘的快照创建自定义镜像(全盘镜像) 注意勾选“添加数据盘快照”,并选择需迁移实例的数据盘 可以在镜像列表看到创建好的自定义镜像 注:也可以直接创建全盘镜像,平台会自动生成磁盘快照 二. 跨账号共享镜像 将创建好的全盘镜像设置为共享镜像 输入B账号的Uid,并进行跨账号镜像共享 可在B账号的共享镜像列表里看到刚刚创建的镜像 B账号Uid可在B账号安全设置里查看 三. 登录B账号,基于这个全盘镜像创建新的ECS 进入云服务器实例页面,单击右上角创建实例 选择好ECS相应的计费方式、地域、实例规格等配置,在镜像处选择之前共享好的全盘镜像,基于此镜像创建ECS 选好镜像后会自动按照镜像里磁盘的大小分配存储 注意:如果新建的ECS的数据盘不按照镜像默认的大小开通,创建好ECS后,会存在空间丢失的情况。需要把镜像自动帮你创建的数据盘分区删除并全盘格式化后,重新分区,才能完全使用数据盘的全部空间。删除分区前,先迁移数据盘里的数据到其他目录下,等数据盘格式化并分区完成后,再迁移回来。因此,为防止增加上述反锁的操作,建议数据盘保持自定义镜像里

Docker安装

 ̄綄美尐妖づ 提交于 2020-03-20 23:42:58
Docker简介 •Docker 是一个开源的应用容器引擎 •诞生于 2013 年初,基于 Go 语言实现, dotCloud 公司出品(后改名为Docker Inc) •Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上。 •容器是完全使用沙箱机制,相互隔离 •容器性能开销极低。 •Docker 从 17.03 版本之后分为 CE(Community Edition: 社区版) 和 EE(Enterprise Edition: 企业版) Docker安装 安装依赖 yum install -y yum-utils device-mapper-persistent-data lvm2 配置仓库环境 yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo 安装Docker yum install docker-ce docker-ce-cli containerd.io 注意如果报错: Problem: package docker-ce-3:19.03.4-3.el7.x86_64 requires containerd.io >= 1.2.2-3 那就先装新版的 containerd.io yum