docker使用

docker的使用主要是通过编辑Dockerfile文件构建成镜像,然后利用经销启动一个容器,启动的时候可以传一些参数,启动后容器里的应用可以在容器隔离环境中运行。

可以通过容器的套接字和容器外的服务交互,还可以通过卷功能挂载寄主机的目录和其他容器共享存储空间,也可以通过改变该存储空间的文件,让容器内程序运行不同文件。

主要目的就是使容器内程序有稳定的可管理的运行环境。

一,利用Dockerfile编辑docker镜像

Dockerfile是由一系列指令和参数组成。

1,FROM ,指定基础镜像。因为镜像是一层一层的,可以在原有镜像的基础上再编辑。和类的继承差不多。

2,MAINTAINER ,标识镜像的作者和邮箱。

3,RUN , 该指令会在当前镜像中运行指定的命令。比如升级apt-get,下载软件安装包,转移文件等。

4,EXPOSE , 后面跟端口号, 该指令指定docker容器里的应用程序将要使用容器的特定端口。

5,CMD , 该指令用于指定使用该镜像的容器启动时,执行的一个命令。和RUN指令区别:RUN指令是指镜像被构建时运行的命令,可以有多个RUN指令;CMD是容器启动时执行的一个命令,一般用于启动容器内程序的守护线程。

6,ENTRYPOINT ,功能和CMD类似,但是ENTRYPOINT不会被覆盖。同时使用ENTRYPOINT和CMD的时候,CMD的参数会传给ENTRYPOINT,运行ENTRYPOINT。

7 ,WORKDIR ,使用该指令为后续的一系列指令设置工作目录,也可以为最终的容器设置工作目录,ENTRYPOINT或CMD指定的命令也会在WORKDIR指定的目录中执行。

8 ,ENV ,该指令用于在镜像中指定环境变量。设置变量的名字和值,后续的命令里面可以使用被ENV声明过的变量。

9,USER , USER指令用于指定镜像会以怎样的用户的身份来运行。

10,VOLUME ,VOLUME用于向基于该镜像创建的任何容器添加一个或多个卷。对卷的修改是及时生效的。对卷的修改不会对镜像产生影响。卷会一直存在直到没有容器使用它。卷可以让我们将数据(如源代码)、数据库或其他内容添加到镜像中而不是将这些内容提交到镜像中,并且允许我们可以容器间共享这些内容。我们可以利用此功能来测试容器和容器内的程序代码,管理日志,或者处理容器内部的数据库。

11,ADD,ADD指令用来将构建环境中的文件和目录复制到镜像中。ADD指令需要源文件位置和目的文件位置两个参数。

12,COPY, COPY指令类似于ADD,根本不同是COPY只关注复制文件,而不去做文件提取和解压的工作。

13,ONBUILD, 该指令能为镜像添加触发器(trigger),当一个镜像被用作其他镜像的基础镜像时,该镜像中的触发器将会被执行。

你可能感兴趣的:(docker使用)