dockerfile 命令
-
FROM- 镜像从那里来
-
MAINTAINER- 镜像维护者信息
-
RUN- 构建镜像执行的命令,每一次RUN都会构建一层
-
CMD- 容器启动的命令,如果有多个则以最后一个为准,也可以为ENTRYPOINT提供参数
-
VOLUME- 定义数据卷,如果没有定义则使用默认
-
USER- 指定后续执行的用户组和用户
-
WORKDIR- 切换当前执行的工作目录
-
HEALTHCHECH- 健康检测指令
-
ARG- 变量属性值,但不在容器内部起作用
-
EXPOSE- 暴露端口
-
ENV- 变量属性值,容器内部也会起作用
-
ADD- 添加文件,如果是压缩文件也解压
-
COPY- 添加文件,以复制的形式
-
ENTRYPOINT- 容器进入时执行的命令
# 基础镜像使用java
FROM java:8
# 作者
MAINTAINER LXF
# 其效果是在主机 /var/lib/docker 目录下创建了一个临时文件,并链接到容器的/tmp
VOLUME /tmp
# 将jar包添加到容器中并更名为eureka.jar
ADD eureka-server.jar eureka.jar
# 运行jar包
EXPOSE 1111
ENTRYPOINT ["java","-Xms64m","-Xmx256m","-jar","eureka.jar"]
构建镜像
我们使用命令 docker build , 从零开始来创建一个新的镜像。为此,我们需要创建一个 Dockerfile 文件,其中包含一组指令来告诉 Docker 如何构建我们的镜像。
docker build -f eureka_dockerfile -t eureka.jar .
运行镜像
docker run -id -p 1111:1111 eureka.jar
列出镜像列表
我们可以使用 docker images 来列出本地主机上的镜像。
-
REPOSITORY:表示镜像的仓库源
-
TAG:镜像的标签
-
IMAGE ID:镜像ID
-
CREATED:镜像创建时间
-
SIZE:镜像大小
删除镜像
镜像删除使用 docker rmi 命令,比如我们删除 hello-world 镜像:
docker rmi IMAGEID
docker rm CONTAINERID
docker rmi hello-world
#删除所有镜像
docker rmi $(docker images -q)
总结
docker基本命令:
查看所有镜像 docker images
删除镜像(会提示先停止使用中的容器) docker rmi 镜像name/镜像id
查看所有容器 docker ps -a
查看容器运行日志 docker logs 容器名称/容器id
停止容器运行 docker stop 容器name/容器id
终止容器后运行 docker start 容器name/容器id
容器重启 docker restart 容器name/容器id
删除容器 docker rm 容器name/容器id
docker官网:
Docker Hubhttps://hub.docker.com/