上一篇文章进行了yum安装stress,这次对stress进行源码编译安装,并且生成新的镜像
- 创建Dockerfile目录
[vagrant@localhost ~]$ mkdir -p /tmp/stress
[vagrant@localhost stress]$ sudo vi Dockerfile
FROM library/centos ADD Centos-7.repo /etc/yum.repos.d/CentOS-Base.repo
ADD stress-1.0.4.tar.gz /usr/local/src
RUN yum clean all && yum makecache && yum install -y make automake autoconf gcc gcc-c++
WORKDIR /usr/local/src/stress-1.0.4
RUN ./configure --prefix=/usr/local/stress
RUN make && make install
ENV PATH /usr/local/stress/bin:$PATH
#CMD与ENTRYPOINT的区别在于执行docker run时参数传递的方式不同
ENTRYPOINT ["stress", "--verbose"] - 根据Dockerfile生成创建一个stress镜像
docker build -t centos-stress-source:1.0.2 .
- 查看镜像
[vagrant@localhost stress]$ docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
centos-stress-source 1.0.2 4f8b1ae5f7e8 7 minutes ago 546MB - 测试是否可用
[vagrant@localhost stress]$ docker run -ti --rm -m 200M --memory-swap=300M centos-stress-source:1.0.2 --vm 1 --vm-bytes 280M
stress: info: [1] dispatching hogs: 0 cpu, 0 io, 1 vm, 0 hdd
stress: dbug: [1] using backoff sleep of 3000us
stress: dbug: [1] --> hogvm worker 1 [5] forked
stress: dbug: [5] allocating 293601280 bytes ...
stress: dbug: [5] touching bytes in strides of 4096 bytes ...
stress: dbug: [5] freed 293601280 bytes
stress: dbug: [5] allocating 293601280 bytes ...
stress: dbug: [5] touching bytes in strides of 4096 bytes ...