这几天忙着去做别的事情,现在才来继续写...
我们先去控制台删除之前实验的docker (因为VPS空间太小了).
为了达到上次的目的,但是不要那么多垃圾文件.我们要用Dockerfile.这次新建一个空目录,放置一个Dockerfile.
FROM就是来自哪个母镜像,RUN就是运行什么东西,比如还可以RUN apt-get update之类的.可以建立很多条RUN.比如下面(但是不推荐)
FROM debian:jessie RUN apt-get update RUN apt-get install -y gcc libc6-dev make RUN wget -O redis.tar.gz "http://download.redis.io/releases/redis-3.2.5.tar.gz" RUN mkdir -p /usr/src/redis RUN tar -xzf redis.tar.gz -C /usr/src/redis --strip-components=1 RUN make -C /usr/src/redis RUN make -C /usr/src/redis install
推荐做法其实是...
FROM debian:jessie RUN buildDeps='gcc libc6-dev make' && apt-get update && apt-get install -y $buildDeps && wget -O redis.tar.gz "http://download.redis.io/releases/redis-3.2.5.tar.gz" && mkdir -p /usr/src/redis && tar -xzf redis.tar.gz -C /usr/src/redis --strip-components=1 && make -C /usr/src/redis && make -C /usr/src/redis install && rm -rf /var/lib/apt/lists/* && rm redis.tar.gz && rm -r /usr/src/redis && apt-get purge -y --auto-remove $buildDeps
好了,扯远了,看看怎么定制我们这个nginx包.(语法:docker build [选项] <上下文路径/URL/->)
docker build -t myweb:v1 .
启动下这个myweb看看.
docker run --name web -d -p 81:80 myweb:v1
观察下.
成功了~
但是,如果文件很多,一个一个RUN过去,这得到什么时候啊.对,还有COPY命令,but,这个COPY只能用相对路径.多了COPY操作再打包,看看.
当然启动看看.
docker run --name web -d -p 81:80 myweb:v2
我看用-it进去看看,文件去哪里了.
还有好多,什么ADD啊什么,简直晕啊.为了不要搞晕自己,还是先打住了.