如今本身学习微服务,服务器愈来愈多,虽然本身写了一些shell脚原本安装须要的软件,好比mysql,redis,jdk等等,可是仍是好麻烦。但愿学习docker可以快速安装部署这些东西。mysql
建议使用copy,由于是字面意思的命令,而add命令会有一些额外操做,好比若是add的是一个tar压缩包,压缩格式为 gzip , bzip2 以及 xz 的状况redis
下,就会解压,其余压缩包就不会,若是是个url,也会把资源下载下来。因此不一样状况下的操做不太同样,除非解压缩tar的状况。sql
docker run 镜像名 参数docker
这个时候参数会覆盖CMD命令里的参数shell
而若是使用的是entrypoint执行命令的话,参数是做为额外的参数传给cmd的服务器
至关于能够定义变量app
ENV VERSION=1.0 DEBUG=on \
NAME="Happy Feet"微服务
而后使用$VERSION就能够啦学习
RUN cd /app
RUN echo "hello" > world.txturl
每一个run都是在各自的层执行的,因此第一个cd并不会切换目录
应该使用workdir来切换工做目录