docker制作镜像

docker制作镜像

docker制作镜像有两种:

1.docker  build dockerfile  2.基于容器制作镜像

基于容器制作镜像

语法:docker  commit   options  容器名称

参数:

-a:作者

-c:修改dockfile创建的镜像

-m:提交信息

-p:在提交期间暂停容器

 例子:

1.想要基于那个容器创建镜像就先运行这个镜像
docker run  --name web01  -it  nginx
2.不要退出这个容器,另起一个终端
docker  commit  -p  基于那个容器制作镜像写呢个容器名称

3.查看是否生成镜像
docker images

4.运行新创建的镜像
docker run --name 容器名 -it  镜像名称

注意:如果显示没有启动启动,可以使用docker start 容器名,重新启动一下

基于dockerfile创建镜像文件

一台主机可以有多个dockerfile,并且dockerfile中涉及的文件需要和当前dockerfile同等级。

docker build 是用于基于dockerfile制作镜像命令

参数:

-t:打标签(常用)

FROM指令:

dockerfile必须从FROM开始,为dockerfile的第一个指令,为镜像构建过程中指定基础镜像,后续指令在基础镜像所提供的环境运行。

 语法:
FROM         基础镜像名称:标签(指定版本号)

例子:

FROM        nginx:latest

MAINTAINER指令:

用于制作者提供自己的信息

例子:

MAINTAINER        "内容"

 COPY指令:

用于将本地的目录或者文件复制在新创建的镜像中

copy    源路径    目标路径

例子:

copy   index.html  /usr/share/nginx/html        (确保dockerfile同级目录下有index.html文件)

 使用docker build构建的时候

docker build  -t 新建镜像的标签(xxx:xxx) ./  (./是指在当前路径下构建,dockerfile也写在当前路径)

copy复制目录

copy复制目录的时候,不会自行复制目录名称,所以需要将目录的名称也写在copy的路径中

例子:

copy   dir1    /etc/dir1

 ADD指令:

类似copy指令,支持使用tar和url格式

 WORKDIR指令:

指定后面出现的目录的路径,后面的目录可以写为相对路径

workdir  路径

 VOLUME指令:

用于指定镜像文件的挂载点目录

volume  路径

 EXPOSE指令:

expose:暴露端口号

expose  80/tcp

 ENV指令:

指定dockfile中的环境变量,使用${变量}进行引用

 RUN指令:

指定构建的过程中运行的程序或命令

 CMD指令:

为启动的容器指定默认的程序,可以存在多个cmd,但是只有最后一个生效

你可能感兴趣的:(docker,java,容器)