Docker入门笔记

来源:互联网 发布:java数组的定义格式 编辑:程序博客网 时间:2024/06/04 19:52

Docker入门笔记 (纯小白记录)

1、Docker是啥

Docker是一个容器引擎,我们可以把我们的应用和依赖环境(比如配置文件、库等)打包到这个容器中。值得注意的是,这个容器是可移植的,我们可以把程序打包,然后发布到另一台机器上。

Docker采用C/S架构,客户通过api创建Docker容器。

此图包含了Docker最重要的三个概念:镜像、容器、仓库

  • 镜像(Images):镜像是一个包含了应用程序和依赖环境的文件,可以看作是一个模板,通过这个模板我们可以构建容器。镜像与容器有点像类与对象的关系,如果镜像是类,那么容器就是由镜像产生的对象。
  • 容器(Container):容器是由镜像产生的一个实例,可以独立运行,相互之间互不干扰。
  • 仓库 (Hub) :用来存储和管理镜像的仓库,有点像 git版本控制中的仓库。

这里写图片描述
(图片来自:http://www.runoob.com/docker/docker-architecture.html)


2、Docker安装和Hello world



(1)Ubuntu上安装 Docker

使用下面的命令安装:

sudo wget -qO- https://get.docker.com/ | sh

安装成功后,会显示Docker版本等信息

这里写图片描述



(2)Docker的Hello world

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

ubuntu:14.04是要运行的镜像,表示以ubuntu:14.04镜像创建一个容器
/bin/echo “Hello world”:在容器里执行的命令

这里写图片描述

需要注意的是,如果指定的镜像在本地不存在,Docker会从DockerHub下载公共镜像,我们可以用下面的命令查看系统中已有的镜像

docker images

当然,我们也可以直接run hello-world

docker run hello-world

这里写图片描述


3、Docker容器与镜像

下面将做一个小实验,练习创建容器和镜像~

  • 创建一个容器,然后在容器中修改文本
  • 通过上一步中的容器,创建镜像
  • 通过镜像创建新的容器,看看有没有修改后的文本

1、创建一个容器,然后在容器中修改文本

使用docker run 命令可以创建一个容器,

docker run -i -t ubuntu /bin/bash

-i:交互模式
-t:为容器分配一个终端tty
ubuntu:容器的镜像名称,可以通过docker images 查看
/bin/bash:在容器中运行的命令

在创建的容器中,我们可以新建一个文件:

touch test.txtecho "asdf" >> test.txt

2、通过上一步中的容器,创建镜像

首先从容器中退回到主机,可以按 “ctrl +p 、 ctrl + q”

然后通过容器创建镜像

docker commit -m "test" 863 ubuntu:my_test

有点像git的commit,863是容器的ID,ubuntu是镜像的名字,my_test是镜像的标签。创建镜像后,可以通过docker images查看有没有我们刚刚创建的镜像

如果想从主机中再次进入刚刚创建的容器,可以使用下面的命令查看当前活动的容器

docker ps

这里写图片描述

然后使用命令:docker attach 863 进入刚刚创建的容器,其中863是容器的ID

3、通过镜像创建新的容器,看看有没有修改后的文本

docker run -i -t ubuntu:my_test /bin/bashcat test.txt # 读取test.txt中的内容

这里写图片描述

今天先学到这里,拜拜~

这里写图片描述

原创粉丝点击