您的位置:首页 > 运维架构 > Docker

Dockerfile中CMD和ENTRYPOINT的组合用法

2017-07-02 11:13 579 查看
 

Dockerfile中CMD和ENTRYPOINT的组合用法

 

root@ubuntu:/dockerfile/df_test5# pwd

/dockerfile/df_test5

root@ubuntu:/dockerfile/df_test5#cat Dockerfile

# 设置基本的镜像,后续命令都以这个镜像为基础 

FROM ubuntu

# 作者信息 

MAINTAINER shangwu 

# RUN命令会在上面指定的镜像里执行任何命令 

RUN apt-get update

RUN apt-get install -y nginx

 

#暴露ssh端口

EXPOSE 80 

ENTRYPOINT ["/usr/sbin/nginx"]

CMD ["-h"]

root@ubuntu:/dockerfile/df_test5#

 

 

 

 

root@ubuntu:/dockerfile/df_test5#docker build -t="df_test5" .

Sending build context to Docker daemon 2.048 kB

Sending build context to Docker daemon

Step 0 : FROM ubuntu

 --->dc8dd8718e57

Step 1 : MAINTAINER shangwu

 --->Using cache

 --->cd3d00722426

Step 2 : RUN apt-get update

 --->Using cache

 --->0096fe9ac7c4

Step 3 : RUN apt-get install -y nginx

 --->Using cache

 --->c8b93cc747d7

Step 4 : EXPOSE 80

 --->Using cache

 --->266559c6bc7f

Step 5 : ENTRYPOINT /usr/sbin/nginx;

 --->Using cache

 --->112ebc020e4e

Step 6 : CMD -h

 --->Running in 94961f2569d4

 --->e88d8bf0d386

Removing intermediate container 94961f2569d4

Successfully built e88d8bf0d386

root@ubuntu:/dockerfile/df_test5#

 

 

 

 

root@ubuntu:/dockerfile/df_test5# docker run -p 80-d --name ep_test2 df_test5
-g"daemon off;"

d97c51eb835e71add8787469c0b169b0a6329fee2060089a72107f8b62174036

root@ubuntu:/dockerfile/df_test5#

 

 

 

 

root@ubuntu:/dockerfile/df_test5#docker ps

CONTAINER ID       IMAGE               COMMAND                CREATED             STATUS              PORTS                   NAMES

d97c51eb835e       df_test5:latest    "/usr/sbin/nginx -g    6seconds ago       Up 5 seconds        0.0.0.0:32777->80/tcp   ep_test2                    

root@ubuntu:/dockerfile/df_test5#curl http://127.0.0.1:32777
root@ubuntu:/dockerfile/df_test5#

说明:

       1)-g "daemon off;"把CMD的命令给覆盖了;

 

 

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: