如今本身學習微服務,服務器愈來愈多,雖然本身寫了一些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來切換工做目錄