CMD:

启动容器时指定默认执行的命令,

如果用户启动容器时候手动指定了运行的命令(作为run命令的参数),

则会覆盖掉CMD指定的命令。只能有一条CMD命令

 

vim Dockerfile

 

 

FROM centos:7.3.1611
RUN yum -y install curl
CMD ["curl","-I","https://www.baidu.com"]

 

 构建镜像

docker build -t huazai007/centos7:v1 。

运行镜像。手动指定了运行命令(/bin/bash)覆盖掉了CMD的命令

[root@server01 ~]# docker run --name mycentos_v1 --rm huazai007/centos7:v1
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0   277    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
HTTP/1.1 200 OK
Accept-Ranges: bytes
Pragma: no-cache
Server: bfe/1.0.8.18

[root@server01 ~]# docker run -ti --name mycentos_v1 --rm huazai007/centos7:v1 /bin/bash
[root@04962decca51 /]# 

 

 

ENTRYPOINT:

 

指定镜像的默认入口命令。

该入口命令会在启动容器时作为根命令执行,所有传入值作为该命令的参数。

 

只能有一条ENTRYPOINT命令

vim Dockerfile

FROM centos:7.3.1611
RUN yum -y install curl
ENTRYPOINT ["curl","-s","https://www.baidu.com"]

 构建镜像

docker build -t huazai007/centos7:v2 .

启动容器。将-I作为参数传给ENTRYPONIT了!

[root@server01 ~]# docker run --name mycentos_v1 --rm huazai007/centos7:v2 -I
HTTP/1.1 200 OK
Accept-Ranges: bytes
Cache-Control: private, no-cache, no-store, proxy-revalidate, no-transform
Connection: keep-alive
Content-Length: 277
Content-Type: text/html
Date: Thu, 12 Mar 2020 12:55:28 GMT
Etag: "575e1f5c-115"
Last-Modified: Mon, 13 Jun 2016 02:50:04 GMT
Pragma: no-cache
Server: bfe/1.0.8.18