1. 程式人生 > >分散式專題(十一)docker

分散式專題(十一)docker

環境:centos7

 

安裝步驟

1.CentOS官方的docker安裝步驟

yum install -y docker

docker version

2.社群版docker安裝


 

啟動

systemctl start docker
 

檢視docker的資訊

docker info 

docker術語

1.映象

·映象是用於建立容器的只讀模板

·映象是通過Docker build命令建立

·映象由映象層構成

·映象儲存於Docker Registry

2.容器

·容器是映象的執行例項

·容器是應用執行環境的封裝,具有輕量級、移植性高等特點

·容器由映象建立,內部封裝所有執行應用所需依賴及可執行檔案

3.Registries和Repositories

·Registry是儲存Docker映象的地方

·可自建私有Registry和使用公用Registry如Docker Hub

·在Registry中,映象儲存在Repository

·Docker Repository是具有相同名字,不同標籤的Docker映象的

4.Docker Hub

·公共Docker Registry

·私有Docker Registry

執行第一個docker容器

1.檢視有無docker映象

docker images

2.執行docker容器,如果沒有映象,這個命令會自己去下載映象

如果遇到net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting head的錯誤

docker run centos:7 sleep 1000

3.新開啟一個linux終端,之前終端會睡眠在Status: Downloaded newer image for docker.io/centos:7,檢視系統運行了哪些容器

docker ps

docker ps -a 

4.檢視docker容器的目錄

docker run -t -i centos:7 ls /

5.執行一個新容器並進入命令列

docker run -t -i centos:7 bash

ls

echo "HELLO WORLD" >test.txt

cat test.txt

ls

exit

6.再建立一個新容器並操作

docker run -t -i centos:7 bash

ls

exit

這時會發現test.txt不見了,執行一個新容器會清空之前容器的內容

常見命令

1.docker ps   

docker ps -a

檢視執行的容器

2.docker inspect  a6cf4fb96210

根據ID檢視容器的資訊

3.docker stop a6cf4fb96210

根據ID停止一個容器

4.docker start a6cf4fb96210

根據ID啟動一個已經存在的容器

5.docker rm -f a6cf4fb96210

根據ID刪除一個容器

6.docker run -d --name hello_world centos:7 sleep 10

-d後臺啟動 一個容器並命名

 

下載執行tomcat映象

1. docker run -it -d -p 9000:8080 tomcat:7  (docker pull tomcat)

下載並執行tomcat映象

2.docker ps

檢視執行中的容器

3.docker logs  -f 4adb6d4e8af0

根據ID檢視某個tomcat的日誌-f是實時更新

 

建立docker映象

一、docker commit命令

1.docker ps -a 獲取 CONTAINER ID

2.docker commit 807b6df15cd9 huang/centos:1.0    建立docker映象

3.docker images 檢視存在的映象    

4.docker run -ti huang/centos:1.0 bash

二、docker build 命令

1.mkdir demo

2.cd demo

3.echo "hello world" > test1.txt

3.echo "hello boy" > test2.txt

4.vi Dockerfile

FROM centos:7

COPY test1.txt /demo/
COPY test2.txt /demo/

5.docker build -t huang/demo:1.0 .

6.docker images

7.docker run -ti huang/demo:1.0 bash

COPY為docker build的指令,其他docker build指令略

 

上傳docker映象到Docker Hub

 

與正在執行的容器互動     docker exec -it 容器id /bin/bash