资讯专栏INFORMATION COLUMN

Docker学习之路(三)小试牛刀

wizChen / 3284人阅读

摘要:运行容器使用命令启动容器。指定镜像时,会检查本地是否存在镜像。现在进入到容器中,这是一个完整的系统。除此之外,并没有其它的资源。本人的学习笔记,主要是对我的第一本书从入门到实践的学习记录,并结合其他各种资源的学习。

运行容器

使用run命令启动容器。

下面的命令输出一个 “Hello World”,之后终止容器:

$ sudo docker run ubuntu:14.04 /bin/echo "Hello world"

下面的命令则启动一个 bash 终端,允许用户进行交互:

$ sudo docker run -i -t ubuntu /bin/bash

这句命令的解释:

告诉Docker使用docker run命令。

参数-i标志容器中SRDIN是开启的。-t标志告诉doncker为要创建的的容器分配一个伪tty终端。这样新创建的容器才能提高一个交互式shell。

这里使用ubuntu镜像。ubuntu镜像是一个常备镜像,也成为基础(base)镜像。也可以使用其他镜像,如debian、centos、fedora。

指定镜像时,Docker会检查本地是否存在ubuntu镜像。如果本地没有该镜像的话,就好链接官方维护的Docker Hub Registy,查看Docker Hub中是否有该镜像,有的话就下载下来。

现在进入到容器中,这是一个完整的Ubuntu系统。

在交互模式下,用户可以通过所创建的终端来输入命令,例如:

root@49aefbbb440a:/# pwd
root@49aefbbb440a:/# ls
容器的一些操作

查看/etc/hosts文件:

root@49aefbbb440a:/# cat /etc/hosts

查看网络配置:

root@49aefbbb440a:/# ip a

容器的核心为所执行的应用程序,所需要的资源都是应用程序运行所必需的。除此之外,并没有其它的资源。可以在伪终端中利用 pstop 来查看进程信息:

root@49aefbbb440a:/# ps -aux

安装vim:

root@49aefbbb440a:/# apt-get update && apt-get install vim
容器重命名

要退出容器进行重命名

错误做法:

root@49aefbbb440a:/# sudo docker run --name ao_ct -i -t ubuntu /bin/bash
sudo: docker: command not found

正确做法:

root@49aefbbb440a:/# exit
exit
docker@boot2docker:~$ sudo docker run --name 名字 -i -t ubuntu /bin/bash

查看当前系统中容器列表
$ sudo docker ps -a

重启已经停止的容器

可以start + 容器名

$ sudo docker start ao_ct

start + 容器ID

$ sudo docker start b1ec5fb7f499

列出本地镜像

使用docker images显示本地已有的镜像。

$ sudo docker images

在列出信息中,可以看到几个字段信息“

来自于哪个仓库,比如 ubuntu

镜像的标记,比如 14.04

它的 ID 号(唯一)

创建时间

镜像大小

其中镜像的 ID 唯一标识了镜像,注意到 ubuntu:14.04ubuntu:trusty 具有相同的镜像 ID,说明它们实际上是同一镜像。

TAG 信息用来标记来自同一个仓库的不同镜像。例如 ubuntu 仓库中有多个镜像,通过 TAG 信息来区分发行版本,例如12.0412.1013.0414.04 等。

下面的命令指定使用镜像 ubuntu:14.04 来启动一个容器。

$ sudo docker run -t -i ubuntu:14.04 /bin/bash

如果不指定具体的标记,则默认使用 latest 标记信息。

【本人的学习笔记,主要是对《我的第一本Docker书》、《Docker —— 从入门到实践》的学习记录,并结合其他各种资源的学习。我使用的是windows 7, docker 1.3.2。】

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

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

相关文章

  • 对PHP项目在Docker上运行的一些探索

    摘要:二缘起对于一个普通的屌丝创业公司的屌丝项目来说,理论上来说是没必要用太复杂的技术的,对新技术的克制也是码农的一个职业操守。 Docker出现后,容器技术在互联网领域得到了空前的普及,无论是大公司还是屌丝创业公司的码农基本上都会在各种技术社区或者各种演讲会议上了解到过相关技术,我们作为一家屌丝创业公司也不例外,去年对Docker做了一番了解,并在年前测试了一些方案,今天在这里总结一下遇到...

    liaorio 评论0 收藏0
  • 对PHP项目在Docker上运行的一些探索

    摘要:二缘起对于一个普通的屌丝创业公司的屌丝项目来说,理论上来说是没必要用太复杂的技术的,对新技术的克制也是码农的一个职业操守。 Docker出现后,容器技术在互联网领域得到了空前的普及,无论是大公司还是屌丝创业公司的码农基本上都会在各种技术社区或者各种演讲会议上了解到过相关技术,我们作为一家屌丝创业公司也不例外,去年对Docker做了一番了解,并在年前测试了一些方案,今天在这里总结一下遇到...

    amc 评论0 收藏0
  • 对PHP项目在Docker上运行的一些探索

    摘要:二缘起对于一个普通的屌丝创业公司的屌丝项目来说,理论上来说是没必要用太复杂的技术的,对新技术的克制也是码农的一个职业操守。 Docker出现后,容器技术在互联网领域得到了空前的普及,无论是大公司还是屌丝创业公司的码农基本上都会在各种技术社区或者各种演讲会议上了解到过相关技术,我们作为一家屌丝创业公司也不例外,去年对Docker做了一番了解,并在年前测试了一些方案,今天在这里总结一下遇到...

    phodal 评论0 收藏0
  • 如何用Docker定制你自己的Beego环境

    摘要:如何用定制你自己的环境前言学习几个月了,一直在论坛和群里潜水,一直都想写点什么回报大家积极的知识分享。关于如何使用,可以参考上面的文章和官方文档二小试牛刀,用构建一个的环境并运行程序首先来贴上我的先附上这个项目地址。 如何用Docker定制你自己的Beego环境 前言: 学习golang几个月了,一直在论坛和qq群里潜水,一直都想写点什么回报大家积极的知识分享。 前几日在CSDN上...

    alaege 评论0 收藏0
  • JAVA WEB自动化部署牛刀小试

    摘要:本文记录了自己工作中所用到的自动化部署偷懒历程,有需要的程序汪自行收藏。结论本文仅适合在自己负责的项目中简单进行自动化的部署偷懒,基于本文,可以扩展发挥做一个自动化部署系统。 简述 作为一只后台狗,在使用Java为技术栈来开发后端服务应用的时候,或多或少的都需要自己手动部署。一开始,觉得写完一次自己手动部署到服务器上,还觉得新鲜感还不错,毕竟看着黑黑的terminal有种莫名的兴奋。后...

    BlackHole1 评论0 收藏0

发表评论

0条评论

wizChen

|高级讲师

TA的文章

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