目标

用dockerfile安装stress压力测试工具

Dockerfile

  1. FROM ubuntu
  2. RUN apt-get update && apt-get install -y stress
  3. ENTRYPOINT ["/usr/bin/stress"]
  4. CMD []

通过CMD接受entrypoint的参数
image.png

使用这个镜像

  1. docker run -it sixmillions/ubuntu-stress

image.png
结果相当于默认执行了 /usr/bin/stress 命令

  1. docker run -it sixmillions/ubuntu-stress --vm 1

image.png
相当于执行了/usr/bin/stress 命令,并带来参数--vm 1

  1. docker run -it sixmillions/ubuntu-stress --vm 1 --verbose --timeout 2s

image.png
相当于执行了 /usr/bin/stress --vm 1 --verbose --timeout 2s

总结,我们在后面加的参数,通过cmd接受传到容器中和entrypoint指定的命令结合
可以指定默认参数,例如

  1. FROM ubuntu
  2. RUN apt-get update && apt-get install -y stress
  3. ENTRYPOINT ["/usr/bin/stress"]
  4. CMD ["--version"]

这样启动容易默认执行 /usr/bin/stress --version
image.png

  1. docker run -it sixmillions/stress-v --help

image.png
这样就执行 /usr/bin/stress --help
覆盖掉 --version 参数