`

Docker 终极指南 (三)

 
阅读更多

超级、无比简单的步骤说明

第一步

安装Docker

Docker命令工具需要root权限才能工作。你可以将你的用户放入docker组来避免每次都要使用sudo。

第二步

使用以下命令从公共registry下载一个镜像:

$> docker pull ubuntu:latest
ubuntu:latest: The image you are pulling has been verified
3b363fd9d7da: Pull complete
.....<bunch of downloading-stuff output>.....8eaa4ff06b53: Pull complete
Status: Downloaded newer image for ubuntu:latest
$>

这个公共registry上有你需要的几乎所有东西的镜像:Ubuntu、Fedora、Postgresql、MySQL、Jenkins、Elasticsearch、Redis等等。Docker开发人员在这个公共registry里维护着数个镜像,不过你能从上面拉取大量来自用户发布的自建镜像。

也许你需要或想要一个私有的registry(用于开发应用之类的容器),你可以先看看这个现在有好几个方式可以设置自己的私有registry你也可以买一个

第三步

列出你的镜像:

$> docker images
REPOSITORY  TAG     IMAGE ID      CREATED     VIRTUAL SIZE
ubuntu      latest  8eaa4ff06b53  4 days ago  192.7 MB

第四步

从该镜像上创建一个容器。

$> docker run --rm -ti ubuntu /bin/bash
root@4638a40c2fbb:/# ls
bin boot dev etc home lib lib64 media mnt opt proc root......
root@4638a40c2fbb:/# exit

上一条命令的简要说明:

  • --rm:告诉Docker一旦运行的进程退出就删除容器。这在进行测试时非常有用,可免除杂乱
  • -ti:告诉Docker分配一个伪终端并进入交互模式。这将进入到容器内,对于快速原型开发或尝试很有用,但不要在生产容器中打开这些标志
  • ubuntu:这是容器所基于的镜像
  • /bin/bash:要运行的命令,因为我们以交互模式启动,它将显示一个容器的提示符

在运行run命令时,你可指定链接、卷、端口、窗口名称(如果你没提供,Docker将分配一个默认名称)等等。

现在,我们在后台运行一个容器:

$> docker run -d ubuntu ping 8.8.8.831c68e9c09a0d632caae40debe13da3d6e612364198e2ef21f842762df4f987f
$>

输出的是分配的ID,因为是随机的,你的将有所不同。我们来检查一下容器是否起来了:

$> docker ps
CONTAINER ID IMAGE         COMMAND         CREATED        STATUS        PORTS  NAMES
31c68e9c09a0 ubuntu:latest "ping 8.8.8.8"  2 minutes ago  Up 2 minutes         loving_mcclintock

就在那,它被自动分配了一个叫loving_mcclintock的名称。我们看看容器里正在发生什么:

$> docker exec -ti loving_mcclintock /bin/bash
root@31c68e9c09a0:/# ps -aux|grep ping
root 1 0.0 0.0 6504 636 ? Ss 20:46 0:00 ping 8.8.8.8
root@31c68e9c09a0:/# exit

我们所做的是在容器里运行程序,这里的程序是/bin/bash。-ti标志与docker run的作用相同,将我们放置到容器的控制台里。

结尾

差不多就是这样了。有太多的东西可以讲,但那超出了本文的范围。

不过我会提供一些我认为非常重要或有趣的链接和延伸阅读材料。

Docker的基本结构:

延伸阅读:

有趣的链接:

有用的项目和链接

分享到:
评论

相关推荐

    Docker 入门终极指南,别再说不会用Docker了!.zip

    计算机技术、IT咨询、人工智能AI理论介绍,学习参考资料计算机技术、IT咨询、人工智能AI理论介绍,学习参考资料计算机技术、IT咨询、人工智能AI理论介绍,学习参考资料计算机技术、IT咨询、人工智能AI理论介绍,学习...

    数据的守护者:Docker卷存储的终极指南

    Docker是一个开源的应用容器引擎,它允许开发者打包他们的应用以及应用的运行环境到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口...

    驾驭Docker Machine:创建虚拟主机的终极指南

    Docker是一个开源的应用容器引擎,它允许开发者打包他们的应用以及应用的运行环境到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口...

    驾驭Docker Hub:创建和管理镜像的终极指南

    Docker是一个开源的应用容器引擎,它允许开发者打包他们的应用以及应用的运行环境到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口...

    破解隔离:Docker容器访问宿主机资源的终极指南

    Docker是一个开源的应用容器引擎,它允许开发者打包他们的应用以及应用的运行环境到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口...

    Docker空间清理大作战:释放存储空间的终极指南"

    Docker是一个开源的应用容器引擎,它允许开发者打包他们的应用以及应用的运行环境到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口...

    Docker化你的Maven项目:使用docker-maven-plugin的终极指南

    Maven是一个项目管理和构建自动化工具,主要服务于基于Java的软件项目。它是由Apache软件基金会提供的一个开源工具,使用一种名为Project Object Model (POM) 的XML文件来描述项目的构建过程、依赖关系和其他配置...

    Prometheus入门终极指南.doc

    Prometheus 入门终极指南 Prometheus 是一个开源监控系统,前身是 SoundCloud 的告警插件。从 2012 年开始,Prometheus 逐渐被大量公司使用。该项目的社区也便跃起来,收到越来越多的贡献。在 2016 年继 Kurberntes...

    medializr:终极medializr的Docker配方

    媒介在新的Ubuntu 20.04服务器上(除了OpenSSH Server之外,无需选择安装指南中的任何其他软件),您可以按以下顺序运行以下命令,它应该可以正常工作此外,本指南还假定您将Cloudflare用作DNS提供程序。 首先确保...

    阿里巴巴Java开发手册终极版v1.3.0

    《阿里巴巴Java开发手册终极版v1.3.0》是阿里巴巴集团为了提升Java开发的规范性和效率,结合多年的企业级开发经验所推出的权威指南。这份手册涵盖了从基础编码规范、异常处理、并发编程到系统设计等多个方面的内容,...

    IT人必知必会的100个课程-终极大揭秘

    丁明一讲师的权威Docker指南课程、贺永康讲师关于使用Docker部署Nextcloud云盘服务的课程,都展示了Docker在当前IT技术中的重要性。 4. 云计算与虚拟化:陈涛讲师的KVM虚拟化进阶与提高视频课程和王春海讲师的使用...

    jenkins-pipeline

    glass_tilted_left:记录指南 :page_with_curl:ServiceMesh指南 :globe_with_meridians:Docker开发基础步 :check_mark: 视频 :movie_camera: 源代码 使用Dockerfiles (.NET,Golang,Python,NodeJS)使用代码(.NET...

    阿里巴巴Java开发手册终极版v1.3.0(1).zip

    《阿里巴巴Java开发手册终极版v...总的来说,《阿里巴巴Java开发手册终极版v1.3.0(1)》是Java开发者必备的参考指南,它不仅规范了编码习惯,还涉及了软件开发的全生命周期,有助于提升团队的整体技术水平和项目质量。

    nice-jade-collecting:Nice Jade Collecting(优秀文章脚本工具网站)

    Mac必备软件渐集之ZSH-终极Shell Listary Everything Wox Launch Cleaver快速制作网页PPT Rake让Jekyll写博更优雅 Npm Scripts 使用指南 Swagger-ui:打造 API 文档神器 Docker —— 从入门到实践 Github ...

Global site tag (gtag.js) - Google Analytics