资讯专栏INFORMATION COLUMN

docker入门

zzbo / 2729人阅读

摘要:一般而已,包含四部分信息,基础镜像信息,维护者信息,镜像操作命令,和容器启动时执行命令。创建容器使用创建的容器处于停止状态,可以使用来启动。目前官方维护了一个公共仓库其中已经包含了多个镜像。

什么是docker

docker是基于go语言实现的云计算开源项目。其主要目标是“Build,Ship and Run Any App, Anywhere”,即通过对应用组件的封装,分发,部署,运行等生命周期的管理,达到应用组件级的“一次封装,到处运行”。

docker的优势

高效的构建应用。docker通过容器来打包应用,在迁移的时候只需要在新的服务器上启动需要的容器就可以了,这无疑将节省大量的宝贵时间,并降低部署过程中出现的风险。

高效的资源利用。docker容器对系统资源的需求很少,一台主机上可以运行数千个docker容器。

更简单的更新管理。使用Dockerfile来支持灵活的自动化创建和部署机制,可以极大的提高工作效率。

更加轻松的迁移和扩展。

docker核心概念 Dcoker镜像

docker镜像类似虚拟机镜像,包含了文件系统。镜像是创建docker容器的基础。我们可以通过下面的命令从默认镜像仓库,即Docker Hub公共注册服务器中的仓库,下载镜像。

dcoker pull node

当下载完成后可以通过

dcoker images命令查看本地的镜像列表

创建镜像

创建docker镜像有三种方式:基于已有镜像的容器创建,基于本地模版导入,基于Dockerfile创建。
1.基于已有镜像容器创建

docker commit -m "test" -a "auth" ID name

commit命令提交为一个新的镜像。提交时可以使用ID或者名称来指定容器。
2.使用Dockerfile创建镜像
Dockerfile是一个文本格式的配置文件,用户可以通过Dockerfile快速创建自己的自定义镜像。一般而已,Dockerfile包含四部分信息,基础镜像信息,维护者信息,镜像操作命令,和容器启动时执行命令。例如:

# This dockerfile user node image
# VERSION 1.0
# Author: XXX
# 第一行必须指定基于的基础镜像
FROM node:4.2.2
# 操作命令
ENV NODE_ENV test
RUN npm i -g npm@3.5.4
WORKDIR /data/app
COPY ./package.json /data/app/
RUN npm install
COPY ./dist /data/app/
EXPOSE 8050

# 容器启动时执行的命令
CMD ["node", "/data/app/app.js"]
存出与载入镜像

存出镜像

docker save -o target_name image_name

载入镜像

docker load --input image_name
Docker容器

docker利用容器来运行和隔离应用。是从镜像创建的应用运行实例,我们可以从同一个镜像创建多个不同的容器,而这些容器都是相互独立,互不可见的。

创建容器
docker create -it image_name

使用docker create创建的容器处于停止状态,可以使用docker start来启动。

创建并启动容器
docker run 

该命令等价于先执行docker create 再执行docker start

进入容器
docker attach

在使用attach命令的时候会有很多不便,当多个窗口同时attach到同一个容器的时候,所有的窗口都会同步显示。当其中的一个窗口因命令阻塞时,其他窗口也就无法继续执行操作了。

导出容器
docker export containerId > target_name

可将这些文件传到其他机器上,再通过导入命令实现容器的迁移。

导入容器
docker import file
Docker仓库

docker仓库类似于代码仓库,是docker集中存放镜像文件的地方。与之容易混搅的是注册服务器,注册服务器是存放仓库的具体服务器,每个服务器上可以有多个仓库,每个仓库里又可以有多个镜像。例如对于仓库地址dl.dockerpool.com/ubuntu来说
dl.dockerpool.com是注册服务器地址,ubuntu是仓库名。目前Docker官方维护了一个公共仓库https://hub.docker.com,其中已经包含了15000多个镜像。

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/26666.html

相关文章

  • Docker入门(一)用hello world入门docker

    摘要:初识是什么是一个开源的应用容器引擎,基于语言并遵从协议开源。容器是完全使用沙箱机制,相互之间不会有任何接口更重要的是容器性能开销极低。命令为,如下由此可知,我们新打包的镜像的为。登录账号再输入自己的账号密码即可。 初识Docker Docker是什么?   Docker 是一个开源的应用容器引擎,基于 Go 语言并遵从Apache2.0协议开源。  Docker 可以让开发者打包他们的...

    tolerious 评论0 收藏0
  • docker入门概览

    摘要:至于很具体的操作指令,比如怎么安装,怎么和来跑一个简单的,请参考官方文档部分的或者也可参考文末的一些参考资料参考资料官方文档入门教程系列简明教程使用演示中文系列资源从入门到实践作者更多文章个人网站 docker入门概览 标签 : docker [TOC] 本文对docker进行大致介绍,包括概述,安装,简单使用,架构,基本原理等方面 写在前面 本文是自己学习docker的一个记录...

    yy13818512006 评论0 收藏0
  • Docker入门系列之三:如何将dockerfile制作好的镜像发布到Docker hub上

    摘要:入门系列之一在一个容器里运行指定的应用入门系列之二使用制作包含指定应用的镜像本文我们会介绍如何将这个本地制作好的镜像发布到,让全世界其他爱好者能够使用您的镜像。首先您得在上注册一个帐号然后创建一个新的,用于存放镜像。 这个系列的前两篇文章,我们已经把我们的应用成功地在Docker里通过nginx运行了起来,并且用dockerfile里制作好了一个镜像。 Docker入门系列之一:在一...

    maochunguang 评论0 收藏0
  • 不正宗 docker 入门教程-启动一个容器(1/3)

    摘要:从命名上就知道这是一篇简单粗暴的新手入门教程,为什么要简单粗暴我认为有自学能力的人帮他入门就够了,不能自学的一时半会儿也教不会,不符合入门教程的初衷,建议出门左拐去找找视频教程本章目标大概了解是个什么玩意知道常用的指令参数能启动一个容器不然 从命名上就知道这是一篇简单粗暴的docker新手入门教程, 为什么要简单粗暴? 我认为有自学能力的人帮他入门就够了, 不能自学的一时半会儿也教不会...

    YorkChen 评论0 收藏0
  • 这是一次 docker 入门实践

    摘要:前言其实接触也有一段时间了,但是一直没有做下总结,现在网上关于的介绍也有很多了,本着好记性不如烂笔头的原则,还是自己再记录一波吧。实现目标安装探索基本概念及用法环境准备位,内核版本不低于安装以下命令均需在权限下执行。 showImg(https://segmentfault.com/img/remote/1460000017894270?w=538&h=344); 前言 其实接触 do...

    ashe 评论0 收藏0
  • Docker零基础入门指南(一):Docker介绍

    摘要:原文地址零基础入门指南一介绍简介源代码托管在上,公司开源的一个基于技术之上构建的容器引擎,基于语言并遵从协议开源。通过等实现内核虚拟化技术,并提供容器的资源隔离与安全保障等。 原文地址:Docker零基础入门指南(一):Docker介绍 Docker简介 Docker源代码托管在 GitHub上,Docker 公司开源的一个基于LXC技术之上构建的Container容器引擎,基于Go...

    DevTTL 评论0 收藏0

发表评论

0条评论

zzbo

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<