[笔记] docker入门篇1

1.docker的概念

docker是一个依赖于linux内核的软件。同时是一个典型的C/S架构的软件,分为Docker Client和Docker Server。熟悉github的同窗能够和git作一下对比。linux

1.介绍两个相当重要的概念(镜像,容器)

  • 1.镜像,容器

通常书上会拿面向对象编程语言的例子来解释,镜像至关于这类语言中的类,而容器则是new出来的对象。我是这样理解的,动手装过操做系统的同窗都知道iso文件吧,这个文件也叫做镜像文件,咱们说的docker镜像就至关于这个iso文件。将这个iso文件执行起来(就是安装操做系统的过程),在内存中创建的模型就是容器了。git

  • 2.镜像的两种获取方式(提到的命令在下一篇中会详细的讲解,有印象便可)github

  • 1.Dockerfiledocker

这种方式是本身写Dockerfile脚本,同shell script相似,可是要简单得多。下文会介绍脚本命令。写完Docker脚本后,能够运行docker build -t tag dockerfile-path(Dockerfile文件路径),例如:docker build -t icngor/lamp:2.0 ·(注意最后的点,表示Dockerfile就在当前目录)shell

  • 2.从dockerHub或第三方网站下载

dockerHub是docker官方提供的镜像下载中心,第三方网站通常是从这个网站同步的,也能够是由公司内部搭建的。使用docker pull 镜像名称:版本,例如:docker pull icngor/lamp:2.0编程

经过上面两种方式得到了image(镜像)。接下来使用docker images查看镜像 输入图片说明centos

2.Dockerfile命令

* FROM centos:centos6

要构建一个新的镜像,首先须要继承一个已有的镜像。这条指令就是在centos:centos6的基础上进行构建。执行docker build时会下载centos:centos6镜像。

* MAINTAINER 

做者信息

* ENV <key> <value>

设置一个系统的环境变量

* COPY <src> <dest>,ADD <src> <dest>

都是将文件复制到容器,ADD与COPY相比多了两个功能,下载URL和解压.  

* EXPOSE

暴露容器中的端口号

* ENTERYPOINT,CMD,RUN

三者的相同点均可以运行shell命令,下面对比一下三者的不一样点:
 * RUN是在building image时会运行的指令, 在Dockerfile中能够写多条RUN指令.
 * CMD和ENTRYPOINT则是在运行container (容器)时会运行的指令, 都只能写一条, 若是写了多条, 则最后一条生效.
* CMD和ENTRYPOINT的区别是: 
CMD在运行时会被command覆盖, ENTRYPOINT不会被运行时的command覆盖
若是要覆盖ENTRYPOINT, 那么能够在docker run运行时输入 --entrypoint="....".

* ONBUILD

在子镜像构建过程当中执行的一些通用操做

1.Dockerfile实例编写

docker的安装【很简单,就没写,百度一下有不少哦】

两个重要的概念和Dockerfile

docker经常使用命令总结

经常使用命令

docker build -t 命名镜像 指定Dockerfile文件的位置 docker images docker run -it -d -p -P -v -e --name docker ps -a docker exec -it tag /bin/bashbash

docker run -it --rm 容器推出口,删除容器架构

相关文章
相关标签/搜索