Docker技术在国内如火如荼的流行了起来,我当然也想要赶上这时髦的技术啦。下面,我将重新拾起一年多未用的Docker,继续我的云计算之路。
Day 1
学习Docker,先从Docker的命令行工具学起,学习这些内容没有捷径,要么多记,要么多用,英语水平好点可能能够记得快点,像我这种英语水平为0的,基本全靠记和用了。
1、docker的信息提取,通常使用docker version以及docker info,可以提取到足够详细的docker版本信息。
[root@Docker ~]# docker version Client: Version: 1.12.6 API version: 1.24 Package version: docker-1.12.6-68.gitec8512b.el7.centos.x86_64 Go version: go1.8.3 Git commit: ec8512b/1.12.6 Built: Mon Dec 11 16:08:42 2017 OS/Arch: linux/amd64 Server: Version: 1.12.6 API version: 1.24 Package version: docker-1.12.6-68.gitec8512b.el7.centos.x86_64 Go version: go1.8.3 Git commit: ec8512b/1.12.6 Built: Mon Dec 11 16:08:42 2017 OS/Arch: linux/amd64
[root@Docker ~]# docker info Containers: 0 Running: 0 Paused: 0 Stopped: 0 Images: 0 Server Version: 1.12.6 Storage Driver: devicemapper Pool Name: docker-253:0-254447-pool Pool Blocksize: 65.54 kB Base Device Size: 10.74 GB Backing Filesystem: xfs Data file: /dev/loop0 Metadata file: /dev/loop1 Data Space Used: 11.8 MB 。。。。。。。。。。。。。。。。。。 。。。。。。。。。。。。。。。。。。
2、 Docker容器生命周期管理
容器的生命周期管理涉及容器的启动,停止等功能。
(1)docker run
docker run 是用来基于特定的镜像创建一个容器
例如:
[root@Docker ~]# docker run ubuntu echo "helloworld"
helloworld
该命令作用是从ubuntu镜像启动一个容器,并打印出“helloworld”的字样,随后该容器停止运行。
使用docker run启动一个容器时,会为该容器随机分配一个容器ID(CONTAINER ID)
这就是docker run的基本用法。在平常使用中,应该注意添加选项,使容器保持活跃状态。
例如:
[root@Docker ~]# docker run -i -t --name test docker.io/ubuntu /bin/bash root@032c6bc1bcec:/#
在这个地方,docker run 命令启动了一个容器,并分配了一个伪终端执行/bin/bash命令,用户可以在该伪终端与容器进行交互。
-i:表示使用交互牧师,始终保持输入流开放
-t:表示分配一个伪终端
--name:表示可以指定docker run 命令启动的容器的名字,如果没有该选项,则会随机分配一个名字。
除以上选项之外,还有其他一些常用的选项
-c:用于为运行在容器的进程分配CPU的shares值
-m:用于限制为容器所有进程分配的内存容量
-v:用于挂载一个volume(以后再说)
-p:用于将容器的端口暴露给宿主机的端口