Docker:小白入門自我記錄(三)

Dockerfile相關

dockerfile含有兩種內容

  1. “#註釋”:註釋以#開始
  2. “INSTRUCTIONS”:指令以大寫字母開始
#我是註釋

#FROM必須是第一條,是基礎鏡像
FROM <image>
FROM <image>:<tag>

#指定作者和信息
MAINTAINER <name>

#當前鏡像構建時運行的命令
RUN <command>  (shell)    既    /bin/sh -c command
RUN <exec>
如:
    RUN ["executable","parameter1",...]
    RUN ["/bin/bash","-c","echo Hello!"]

#暴露端口,但run是還是需要手動打開
EXPOSE <port> [<port>]

#鏡像運行後使用的命令,會被docker run [命令] 覆蓋
#它用來指定容器運行後的默認操作
CMD <command>  (shell)    既    /bin/sh -c command
CMD <exec>
如:
    CMD ["executable","parameter1",...]
    CMD ["/bin/bash","-c","echo Hello!"]
CMD ["parameter1","parametre2",...]    常與 entrypoint搭配使用

#和CMD差不多,就是不會被覆蓋23333.
#可以配合CMD,在run時更改參數
ENTRYPOINT

#有空格的話加""
#ADD多個解壓tar
ADD <sre> <dest>
COPY <sre> <dest>

#卷:在多個容器間共享
VOLUME["/data"]

#制定工作目錄,建議使用絕對路徑
WORKDIR /xxx/xxx

#環境變量
ENV <key> <value>
ENV <key>=<value>

#指定用戶
USER user/uid/gid
USER xxx:group

#容器被變成鏡像,作爲鏡像創建容器時會觸發指令
ONBUILDE [instruction]

build後會刪除中間容器,但不會刪除中間鏡像

不使用構建緩存:--no-chach


Docker網絡相關

由虛擬網橋提供網絡服務,數據鏈路層的玩意之列的,不是很懂emmm

linux中:docker0

windows:DockerNAT

相當於虛擬網卡 就是虛擬網卡

linux中用 bridge-util 來管理網橋

 

容器間互聯:

--icc=true 是否可以互聯的字段

容器間默認是在一個局域網內,使用ip地址非常不可靠會隨這容器重啓而改變

run --link=[容器名ContainrtName]:[別名Alias]

使用例子:

 

上述方法已過時,現使用docker network,可參照這個

跨主機連接和包轉發啥的,暫時用不到,不學了~

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章