一、入門案例
拉取centos鏡像
docker pull centos
輸出Hello World
docker run centos /bin/echo "Hello world"
各參數解析:
- docker:Docker的二進制執行文件
- run:與前面的docker組合來運行一個容器
- centos:指定要運行的鏡像,如果本地不存在,Docker就會從鏡像倉庫Docker Hub下載公共鏡像
- /bin/echo “Hello world”:在啓動的容器中執行命令
運行交互式的容器
可以通過-i,-t參數實現與Docker容器交互
docker run -i -t centos /bin/bash
各個參數含義
- -t:在新容器內指定一個僞終端
- -i:允許你對容器內的標準輸入 (STDIN) 進行交互
以進程的方式運行容器(後臺運行)
docker run -d centos /bin/sh -c "while true; do echo hello world; sleep 1; done"
輸出的不是hello world,而是一長串字符:3f546bc6e4fbb4cd33f5c92f0c5108f3bbc218e31e1942bbfa1766be8a61b347,這串字符是容器id,可以通過以下命令來查看:
docker ps
在容器內使用logs命令,查看標準輸出:
docker logs 3f546bc6e4fb
使用docker stop停止容器運行:
docker stop id
二、Docker容器使用
Docker客戶端
輸入docker可以看到所有命令選項
通過docker command --help詳細瞭解用法,如瞭解logs命令
docker logs --help
運行一個web應用
-- 載入鏡像
docker pull training/webapp
docker run -d -P training/webapp python app.py
參數說明:
- -d:讓容器在後臺運行
- -P:將容器內部使用的網絡端口映射到主機上
查看web容器的端口和訪問地址
docker ps
PORTS:32678,ip:192.168.178.128;在瀏覽器中輸入:192.168.178.128:32678
單獨查看網絡端口:
docker port 鏡像ID
查看web應用程序日誌
docker logs -f 鏡像名稱或ID
查看web應用程序容器的進程
docker top 鏡像名稱或ID
檢查web應用程序
使用docker inspect來查看docker的底層信息,返回json形式的docker配置文件
docker inspect 鏡像名稱或ID
停止web容器
docker stop 鏡像名稱或ID
啓動容器
docker start 鏡像名稱或ID
重啓容器
docker restart 鏡像名稱或ID
移除容器
docker rm 鏡像名稱或ID
列舉容器內的鏡像
- REPOSITORY:鏡像倉庫源
- TAG:鏡像標籤
同一倉庫可以有多個TAG,表示不同的版本,如ubuntu倉庫源裏,有15.10,14.04多個版本,我們使用REPOSITORY:TAG;如果不加TAG,默認使用latest
- IMAGE ID:鏡像ID
- CREATED:鏡像創建時間
- SIZE:鏡像大小
獲取新鏡像
docker pull ubuntu:13.10
查找鏡像
docker search centos
創建鏡像
當我們從docker鏡像倉庫中下載的鏡像不能滿足需求的時候,我們可以通過以下兩種方式對鏡像進行改變
- 從已經創建的容器中更新鏡像,並且提交這個鏡像
- 使用Dockerfile來創建一個新的鏡像
更新鏡像
構建鏡像
三、Docker常見命令
1. docker run
用來啓動容器
- -i:開啓交互界面,以交互的方式啓動容器
- -t:
- -d:在後臺運行容器
- -a: