1. 程式人生 > >docker入門持續交付之路

docker入門持續交付之路

安裝Docker | 服務相關

wget -qO- https://get.docker.com/ | sh

# 以非root使用者可以直接執行docker
sudo usermod -aG docker 主機使用者名稱

# 啟動docker
sudo service docker start

# 登陸本地機器上的docker公用映象庫
docker login

映象加速

# 在該配置檔案中加入(沒有該檔案的話,請先建一個)
# sudo vim /etc/docker/daemon.json
{
  # "registry-mirrors": ["http://hub-mirror.c.163.com"]
# "registry-mirrors": ["https://registry.docker-cn.com"] }

容器相關

# 啟動容器
docker start Names

# 正在執行的容器需要重啟
dicker restart 容器id / Names

# -t:在新容器內指定一個偽終端或終端
# -i:允許你對容器內的標準輸入 (STDIN) 進行互動
# -d:讓容器在後臺執行。
# -P:將容器內部使用的網路埠對映到我們使用的主機上。
docker run 引數 (--name 命名) 容器 命令

# 平穩關閉容器
docker stop 容器id / Nacmes
# 強制關閉指定的容器
docker kill 容器id / Nacmes # 刪除容器(必須是停止狀態) docker rm Names # 刪除所有容器 docker rm $(docker ps -a -q) # 停止所有容器 docker stop $(docker ps -a -q)

檢視正在執行的Dokcer

docker ps

# docker ps
    # 0.0.0.0:32769->5000/tcp
    # Docker 開放了 5000 埠(預設 Python Flask 埠)對映到主機埠 32769 上
    # ip:32769可以訪問

# 繫結指定埠或者網路地址
# -P :是容器內部埠隨機對映到主機的高階口。 # -p : 是容器內部埠繫結到指定的主機埠。 # 預設都是繫結 tcp 埠,如果要繫結 UDP 埠,可以在埠後面加上 /udp docker run -d -p 5000:5000 映象 *.py docker run -d -p 網路地址:埠:5000 映象 *.py # 檢視指定容器的某個確定埠對映到宿主機的埠號 docker port 容器id / Names

檢視容器標準輸出

# -f 輸出容器內部的標準輸出
docker logs -f 容器id

檢視程序

docker top Names

檢視Dokcer所有命令選項

docker

# 查詢指定命令深層引數
docker stats --help

檢視Dokcer底層資訊

 docker inspect Names

映象相關

# 列出存在映象
docker images

# 獲取一個新映象
docker pull docker pull 映象:版本

# 查詢映象
docker search 映象名字

# 建立映象
    # 1.從已經建立的容器中更新映象,並且提交這個映象
    # 2.使用 Dockerfile 指令來建立一個新的映象

# 更新映象
    # 先建立一個容器
    docker run -t -i 映象 命令
    # 在執行的容器內使用apt-get update命令進行更新
    # exit()退出當前環境
    docker commit -m="提交資訊" -a="指定作者" 容器id 新映象名字

# 構建映象
# 在自己的系統裡建立一個Dockerfile檔案,包含以下命令
    FROM    映象源
    MAINTAINER      Fisher "[email protected]"

    RUN     /bin/echo 'root:123456' |chpasswd
    RUN     useradd runoob
    RUN     /bin/echo 'runoob:123456' |chpasswd
    RUN     /bin/echo -e "LANG=\"en_US.UTF-8\"" >/etc/default/local
    EXPOSE  22
    EXPOSE  80
    CMD     /usr/sbin/sshd -D
    # -t :指定要建立的目標映象名
    # .  :Dockerfile 檔案所在目錄,可以指定Dockerfile 的絕對路徑
    # 終端輸入
    docker build -t 映象 .
    # 在拉一個映象

# 設定映象TAG
docker tag 容器id 映象:標籤

# 刪除映象
docker rmi 容器id
# 刪除全部映象
docker rmi $(docker images -q)
# 刪除映象標籤
docker rmi $(docker images | grep "^<none>" | awk "{print $3}")

# 匯出映象
sudo docker save -o ./壓縮檔案.tar Names
# 匯入映象
# 恢復許可權 rw- --- ---
sudo docker load < 壓縮檔案.tar

# 推送映象
# 1.準備一個映象
# 2.給映象打tag
# 3.docker push 使用者名稱/倉庫:②裡面的tag

# 從遠端倉庫拉一個映象
docker run -p 4000:80 使用者名稱/倉庫:tag