初试docker

在宿主机boot2docker中运行以下命令:
  • 将宿主机的一个目录挂在到某一个容器下:
   docker run -it --rm -v /Users/garybhwang/software/docker_software/:/home/software ubuntu-web /bin/bash

那么在ubuntu-web的容器下面就会看到宿主机的某一个目录。相当于这个目录挂在到容器之下,两者是同步的。

  • 在mac中,需要建立一个虚拟机,这个虚拟机是boot2docker。然后基于book2docker这个宿主机,建立多个容器。容器和镜像的关系是这样的,每一个镜像可以以多个容器的状态去运行。例如,ubuntu:14.04这个镜像,可以运行成多个容器,就像是软件和进程之间的关系。
  • 具体的关系的图

    • macos
      • boot2docker
        • 容器1 镜像
        • 容器2 镜像
        • 容器3 镜像
        • ... ...
        • 容器n 镜像
  • 首先从仓库中拉取镜像到boot2docker中,即宿主机中。(从默认仓库中)

docker pull ubuntu:14.04
  • 运行这个镜像
docker run -it --rm -v /Users/garybhwang/software/docker_software/  ubuntu-web:/home ubuntu-web:latest

运行成功之后,进入这个镜像相应的容器中:

初试docker_第1张图片
容器(ubuntu-web).png
  • 这时候,按住 ctrl+p+q,退出容器(但未真正退出)。同时运行命令docker ps 查看目前宿主机中运行的所有的容器:
初试docker_第2张图片
docker-ps.png
  • 如果想要查看某一个容器的运行具体信息,运行命令 docker inspect 96502fb3463f:
初试docker_第3张图片
容器具体信息.png
  • 如果想要查看所有的镜像,运行命令 docker images:
初试docker_第4张图片
镜像信息.png
  • 再次进入某一个容器,则运行 docker ps,找到想要再次进入的容器id,然后运行 docker attach 694a24e04eb1:
初试docker_第5张图片
再次进入容器.png
  • 进入某一个镜像之后,安装某些软件,就如同在一个ubuntu中安装一样,首先 apt-get update,然后 apt-get install wget:
初试docker_第6张图片
"安装软件.png"
  • 回想一下,进入容器有两种方式。第一种方式为,直接运行镜像,那么每次运行就会得到一个新的容器。第二种方式为,在容器没有真正退出之后,attach 容器id。如果有一个容器被彻底关闭,那么就无法重新进入这个容器,那么在这个容器上安装的所有软件就会消失,因此,需要将这个容器提交为镜像,保存在宿主机上(boot2docker)。运行命令 docker commit 容器ID 新的镜像名:
    首先ctrl+p+q 容器后台,记录下容器的id 694a24e04eb1
    其次在宿主机中,运行 docker commit 694a24e04eb1 ubuntu-test:
初试docker_第7张图片
导出容器到镜像.png

查看宿主机中(boot2docker)中的所有镜像,检查是否多了一个叫做 ubuntu-test 的镜像:

初试docker_第8张图片
ubunt-test镜像.png

你可能感兴趣的:(初试docker)