docker学习笔记(1)

2019-01-31  本文已影响0人  AlexLee2019

docker学习笔记(1)

1. docker run / docker create / docker start 三个命令有何区别

1.1 docker run <image-id>

docker run就是docker create和docker start两个命令的组合。

image

1.2 docker create <image-id>

docker create命令为指定的镜像image添加了一个可读写层,构成了一个新的容器。注意,这个容器并没有运行。

image

image

1.3 docker start <container-id>

Docker start命令为容器文件系统创建了一个进程隔离空间。每一个容器只能够有一个进程隔离空间。

image

2. docker rm / docker kill 有何区别

2.1 docker rm <container-id>

docker rm命令会移除构成容器的可读写层。注意,这个命令只能对非运行态容器执行。

image

2.2 docker kill <container-id>

docker kill 命令向运行在容器中的指定进程发送了一个不友好的SIGKILL信号。

image

3. Dockerfile 中的 ENTRYPOINT 和 CMD 有何区别

可用两种方式指定 ENTRYPOINT 和 CMD 要运行的命令:Shell 格式和 Exec 格式,推荐使用 Exec 格式,因为可读性更强。

3.1 ENTRYPOINT

ENTRYPOINT 指令可让容器以应用程序或者服务的形式运行。

ENTRYPOINT 不会被忽略,一定会被执行,即使运行 docker run 时指定了其他命令。

ENTRYPOINT 中的参数始终会被使用,而 CMD 的额外参数可以在容器启动时动态替换掉。

3.2 CMD

CMD 指令允许用户指定容器的默认执行的命令。

例如 docker run -it [image] /bin/bash,CMD 会被忽略掉,命令 bash 将被执行。

3.3 最佳实践

上一篇下一篇

猜你喜欢

热点阅读