二、Docker的使用

一、入門案例

拉取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鏡像倉庫中下載的鏡像不能滿足需求的時候,我們可以通過以下兩種方式對鏡像進行改變

  1. 從已經創建的容器中更新鏡像,並且提交這個鏡像
  2. 使用Dockerfile來創建一個新的鏡像
更新鏡像
構建鏡像

三、Docker常見命令

1. docker run

用來啓動容器

  • -i:開啓交互界面,以交互的方式啓動容器
  • -t
  • -d:在後臺運行容器
  • -a

Docker常見問題

【1】docker: Error response from daemon: OCI runtime create failed: container_linux.go:345: starting container process caused “exec: “/bin/echo”: stat /bin/echo : no such file or directory”: unknown.

在這裏插入圖片描述

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