《第一本Docker书》笔记

        看这本书是也是专业的运维同事推荐的,我主要想了解下docker,学习一下基本命令,在工作中同事说起时至少得知道大概是个什么,自己还谈不上具体应用。

一、docker组件
1、客服端和服务器(守护进程),docker是c/s架构的程序,提供命令行工具docker以及一整套RESTful API。
2、镜像,基于联合文件系统的一种层式结构(类似于jar包)。
3、容器,基于镜像启动起来的,容器中可以运行一个或多个进程。
4、仓库,保存构建的镜像(类似于Git)。
docker类似于虚拟机,镜像就相对于一个虚拟机系统镜像,容器就相当于在虚拟机中启动起来的系统。

二、基本命令
1、docker run 镜像:运行一个镜像即创建启动一个容器;
2、docker ps:查看运行中或全部容器;
3、docker start/restart/stop 容器名或ID:启动/重启/停止一个容器;
4、docker attach 容器名或ID:重新附着到该容器的会话上;
5、docker logs 容器名或ID:查看容器日志;
6、docker exec 容器名或ID:在容器内部启动新进程,包括后台任务和交互任务;
7、docker inspect 容器名或ID:重新附着到该容器的会话上;
8、docker rm 容器名或ID:删除一个容器;
9、docker search/pull 镜像名:从仓库查询/拉取镜像;
10、docker images 镜像名:查看镜像;
11、docker history 镜像ID:查看镜像构建信息;

三、构建镜像
1、Dockerfile内指令
FROM 镜像名:第一条指令指定基础镜像;
MAINTARINER 作者 联系方式:镜像作者信息;
RUN..... :其它执行的指令,如RUN apt-get install -y nginx 安装nginx包;
......
EXPOSE 端口:指定可向外部公开的端口,可以多个EXPOSE,但docker不会自动打开这些端口,需要在docker run时指定打开那些端口。
2、docker build -f dockerfile路径 -t 新镜像名称:标签:构建dockerfile生成新镜像。
3、docker tag 镜像ID 仓库地址(主机名:端口)/镜像名:打上带仓库地址的标签,以便推送到对应的仓库。
4、docker push 仓库地址(主机名:端口)/镜像名:推送镜像到对应仓库。

四、应用服务
1、VOLUME 容器目录(或宿主机目录:容器目录):将宿主机目录挂载到容器目录,这容器目录称为卷,卷是一个或者多个容器内特定的目录,可以绕过分层的联合文件系统,未docker提供持久数据或共享数据。
2、docker inspect -f "{{ .Volumes}}" 容器名或ID:查看卷对应挂载的宿主机目录。
3、docker run --link 容器名:别名:连接一个容器并使用一个别名,建立连接后就可以通过环境变量里的连接信息或DNS和/etc/hosts信息来通信。
 

你可能感兴趣的:(服务器)