docker使用記錄

安裝

mac端直接官網地址下載nginx

經常使用命令

如何進入、退出docker的container

運行系統終端

docker run -t -i ubuntu /bin/bashredis

  • docker run:啓動containerdocker

  • ubuntu:你想要啓動的imageshell

  • -t:進入終端json

  • -i:得到一個交互式的鏈接,經過獲取container的輸入ubuntu

  • /bin/bash:在container中啓動一個bash shellbash

退出終端

exitapp

啓動某個容器(已中止)

docker start somecontainerui

進入某個容器(運行中)

exit時container亦退出

docker attach somecontainerspa

exit時container不退出

docker exec -it somecontainer /bin/bash

保存鏡像、 容器到本地, 從本地加載鏡像、 容器

鏡像的導出及導入

docker save imageID > filename  
docker load < filename  
複製代碼

容器的保存及導入(導入的是鏡像)

docker export containID > filename  
docker import filename [newimage]  
複製代碼

Dockerfile 的使用

解決Docker build時 Sending build context to Docker daemon 過大的問題

Docker Client會默認發送Dockerfile同級目錄下的全部文件到Dockerdaemon中

解決:一個文件夾中只有dockerfile及相關的文件

相關指令

每一次RUN就是一層,因此不要每一條命令都RUN,而是將相關的命令寫在一個RUN中。

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
複製代碼

構建是將上下文目錄中的文件拷入鏡像中

COPY ./package.json /app/
複製代碼

暴露端口

EXPOSE 8080
複製代碼

相似開機啓動

CMD
複製代碼

開始構建,注意最後的點

docker build -t nginx:v3 .
複製代碼

最重要的事情

能在網上找的鏡像,千萬別本身構建,坑太多,耽誤時間!

相關文章
相關標籤/搜索