目錄html
1.2 dockerfile的做用python
1.3 dockerfile的編寫優化linux
1.4 dockerfile的其餘語法nginx
1.5 docker 中網絡docker
Docker能夠根據Dockerfile中的指令來構建docker鏡像。網絡
Dockerfile是一個文本文件,其應當包含用戶想要構建一個鏡像的全部指令。優化
1 # Dockerfile 2 FROM nginx 3 COPY index.html /usr/share/nginx/html/index.html
1 # index.html 2 <h1>Hello 1904 logo</h1>
1 [root@linux-node1 nginx_v1]# docker build -t nginx:1904 -f Dockerfile . 2 build # 構建指令 3 -t nginx:1904 # 指定鏡像的版本號(鏡像名稱:tag) 4 [root@linux-node1 nginx_v1]# docker image ls # 查看咱們構建的鏡像 5 [root@linux-node1 nginx_v1]# docker run -itd --name 1904 -p 192.168.56.11:1904:80 nginx:1904 # 使用咱們鏡像運行一個docker容器 6 http://192.168.56.11:1904 # 經過宿主機的映射ip地址+端口號就能夠訪問docker容器
1 '''1.DOckerfile經常使用命令 ''' 2 FROM python:3.6 # 指定拉取鏡像版本 3 ENV PYTHONUNBUFFERED 1 # 不緩衝stdin、stdout和stderr,直接把輸出重定向到文件 4 MAINITAINER zhangsan # 指定做者 5 RUN mkdri /code # 運行的linux命令 6 WORKDIR /code # 指定項目工做根路徑 7 ADD . /code/ # 將宿主機文件複製到鏡像中 8 COPY dj.conf /etc/nginx/conf.d # docker內部文件拷貝 9 VOLUME ["/data1","/data2"] # 將宿主機文件夾掛載到容器中 10 EXPOSE 8080 # 暴露端口 11 CMD ["sh","/code/start.sh"] # 容器啓動時要運行的命令 12 CMD ["python", "manage.py", "runserver", "0:8000"] 13 14 '''2.生成鏡像並運行容器''' 15 docker build -t nginx:v1 -f Dockerfile-nginx . # 使用Dockerfile-nginx文件生成鏡像 nginx:v1 16 docker push linux-node4.example.com/test/nginx:v1 # 推送鏡像到harbor中 17 docker run -d -p 192.168.56.14:8000:8080 nginx:v1 # 運行docker容器
1. 網絡常識問題ui
鏈接到同一交換機的相同網段能夠直接相互通訊spa
2. NAT和PAT
3. docker服務如何發佈給別人使用