CentOS6.5 Docker操作记录

来源:互联网 发布:五十而知天命的意思 编辑:程序博客网 时间:2024/05/29 11:38

Docker最核心的三大组件为:镜像,容器和仓库。

在说镜像之前,我们不得不提linux操作系统的两个概念:linux内核和发行版本。

系统内核指的是一个提供硬件抽象层、磁盘及文件系统控制、多任务等功能的系统软件,主要包括内存管理,进程管理,磁盘管理等子系统,从严格意义上来说并不是一个完整的操作系统。而发行版本除了内核之外还包括外围实用程序软件,提供一些系统安装界面和系统配置,管理工具,这里将内核之外的所有程序、文件都统称为发行镜像。内核与发行镜像结合起来构成一个操作系统。因此,我们可以在安装完操作系统后单独地升级、替换内核。可以简单地将镜像理解为系统外壳。

那么系统外壳是不是也可以替换或升级呢?答案是肯定的。Docker就是利用镜像来替换外壳,提供运行时的整个文件系统视图。

容器就是镜像的运行时环境,一台服务器(既可以是实体机也可以是虚假机)上的多个运行的容器共享服务器的硬件资源和内核资源(也就是常用的OS资源)。对使用者来说,每一个容器就是一个轻量级的虚拟机。正是由于docker的轻量级和使用方便,使得其广受各大IT企业所青睐。



查看帮助

Linux系统的一大特点就是系统支持的任何命令都可以查看使用说明。Docker命令可以通过man或—help来查看使用说明。



关于每个具体的Command,还可以使用—help来查看,如docker attach–help


镜像操作

镜像是docker容器运行的基础,在开启容器之前,我们必须获取一个镜像。

search提供查找镜像的功能

sudo docker search <imageName>


pull命令提供下载镜像的功能

sudo docker pull <imageName>


images命令提供查看本地镜像的功能

sudo docker images


commit命令可以保存对镜像的修改创建新镜像

sudo dockercommit <containerId> <repository:tag>

在使用镜像启动容器后,可以将容器看作一个独立的server,可以安装软件,运行程序,在所有的操作完成后退出容器,可以保存修改到镜像中。


可以在commit时添加一些附属信息,如-a添加作者信息,-m添加说明信息


Dockerfile文件创建镜像

Dockerfile的格式为

FROM<baseImage>

MAINTAINER<user info>

RUN yum install –yxxx

EXPOSE<portnum>

ADD  <dir in host> <dir in container>

 

使用dockerfile创建镜像

sudo dockerbuild –t <tag> <dockerfile path>

更多镜像操作

从文件中导入镜像

sudo catcentos.xx.tar.gz | docker import  -<image>[:tag]

sudo docker load–input centos.xxx.tar

sudo docker load< centos.xxx.tar

将镜像导出为tar文件

sudo docker save–o centos.xxx.tar <image>[:tag]

sudo dockerexport <imageId> >centos.xxx.tar

上传镜像

sudo docker push<image>:<tag>

删除镜像

sudo docker rmi<image>

容器操作

ps命令查看容器

sudo docker ps[-a]

不带-a选项时只显示运行中的容器,带-a选项时显示所有的容器。


可以通过docker ps –help查看帮助说明


run命令创建并启动容器

sudo docker run –it<image> /bin/bash


-i参数是打开标准输入流

-t参数是打开伪终端

run命令是docker命令中功能最多 的一个命令,可以通过docker run –help查看帮助信息


create命令创建容器

sudo docker create [options] <image> [command]

create也是容器命令中较复杂的一个,有比较多的选项。


常用的选择

-i 选项表示打开输出流

--name 选项表示给容器指定一个名称

-p选项表示绑定端口

-v选项表示绑定主机的目录至容器的一个卷

 

start命令启动容器

sudo dockerstart <containerId>


再次运行sudo docker ps查看容器,f493fa2782d4的容器已处于启动状态


可通过docker start –help查看命令说明


-a 选项是打开输入输出流,同时传递信号,eg: 使用-a 启动容器后,退出容器后不会关闭容。

-i 选项是打出输入流,输入exit退出容器会关闭容器

 

stop命令关闭容器

sudo docker stop <containerId>


-t 选项是等待多少秒钟才结束进程

attach 命令进入容器

sudo dockerattach <containerId>


多个终端attach同一个容器时,所有终端同步显示,当一个终端阻塞时其他终端也被阻塞。

exec命令进入容器并执行命令

sudo docker exec[option] <containerId> command


-i 选项是打开输入流

-t选项是挂载一个终端

使用exec进入容器后,退出容器后不会关闭容器,这是与attach进入容器的一个不同之处。

使用sudo docker exec –help查看帮助信息


rm命令删除容器

sudo docker rm [options]<containerId>

-f 选项是强制删除容器,如果容器处于运行状态,容器也会被删除

-v选项是删除容器关联的卷


0 0