相关文章推荐
行走的弓箭  ·  dockerfile CMD 不生效 ...·  2 月前    · 
睿智的甜瓜  ·  Dockerfile 和 Windows ...·  2 月前    · 
宽容的领带  ·  iframe ...·  5 月前    · 
鬼畜的绿茶  ·  CSS calc() 函数 | 菜鸟教程·  1 年前    · 
神勇威武的四季豆  ·  GetSystemDirectoryW ...·  1 年前    · 
CMD [ "bash" , "-c" , "./start.sh start && tail -f /dev/null" ]

FROM CentOSxxx:latest
基础镜像,带有java环境

COPY myproject /opt/myproject
将项目拷贝到容器的myproject目录下,注意COPY将目标文件的内容拷贝,不包括目录,所以需要创建一个目录

RUN chmod 777 /opt/myproject/start.sh
搭建镜像时运行该指令,使目标文件权限被修改为777(可读可写可执行)

EXPOSE 8080
容器暴露8080端口

WORKDIR /opt/myproject
进入容器时,设置CMD指令的路径

CMD [“bash”,"-c","./start.sh start && tail -f /dev/null"]
容器被创建时,执行start.sh脚本,如果容器执行该脚本后容器退出,则可以加 tail -f /dev/null

docker build -t myimage .
docker run -itd --name mycontainer -p 8080:8080 myimage 
                    Dockerfile文件FROM mplat:1.0COPY myproject /opt/myprojectRUN chmod 777 /opt/myproject/start.shEXPOSE 8080WORKDIR /opt/myprojectCMD ["bash","-c","./start.sh start && tail -f /dev/null"]
Dockerfile用来创建一个自定义的image,包含了用户指定的软件依赖等。当前目录下包含Dockerfile,使用命令build来创建新的image,并命名为edwardsbean/centos6-jdk1.7:
docker  build -t edwardsbean/centos6-jdk1.7  .
				
文章目录Docker一、Dockerfile1. 概述2. 指令3. 创建一个简单的Dockerfile4、通过Dockerfile创建一个自己的centos5. CMD和ENTRYPOINT指令的区别二、创建tomcat镜像三、发布镜像到DockerHub四、发布到阿里云容器服务 Docker 一、Dockerfile 1. 概述 用来构建docker镜像的构建文件,通过命令脚本生成镜像。 2. 指令 FROM 构建镜像的基础镜像从哪来 MAINTAINER 镜像是谁写的:姓名
CMD [“executable”,”param1”,”param2”] (exec form, 首选格式) CMD [“param1”,”param2”] (作为ENTRYPOINT的默认参数) CMD command param1 param2 (shell form)
DockerfileCMD 可以使用 shell 脚本,只需要在 Dockerfile 中指定 CMD 命令时,将 shell 脚本的路径作为参数传递给 CMD 命令即可。 例如,如果要在容器启动时执行名为 "start.sh" 的 shell 脚本,可以在 Dockerfile 中将 CMD 命令指定为: CMD ["sh", "/path/to/start.sh"] 其中 "/path/...
本文转载于:【dockerCMD ENTRYPOINT 区别 终极解读! 因为写得很好,所以转载一下,做一个记录,如果有冒犯之处,还望联系我删除。 首先上docker官网:https://docs.docker.com/engine/reference/builder/#cmd 感觉官网关于这两个命令讲的简直不要太清楚。 cmd: 这个命令是用来做什么的?下面是官网的答案: The main purpose of a CMD is to provide defaults for an executing