一,容器的基本操作
1,啟動容器:
$ docker run IMAGE[COMMAND] [AEG...]
IMAGE:指定容器運作的鏡像
COMMAND:指定運作的指令
ARG:運作的參數
例如:
$ docker run ubuntu echo "Hello World"
這一個執行單次指令的容器,輸出“Hello World”之後,容器就停止了
2,啟動互動式容器:
$ docker run -i -t IMAGE /bin/bash
-i --interactive=ture|false 預設是false //告訴docker守護程序為容器始終打開标準輸入
-t --tty=true|false 預設是false //配置設定一個僞tty終端
例如:
$docker run -i -t ubuntu /bin/bash
3,檢視容器:
$ docker ps [-a][-l]
不加參數,檢視正在運作的容器
-a:檢視所有的容器
-l:檢視最新的一個容器
$ docker inspect 容器名或容器ID
檢視容器詳細的配置資訊
4,自定義容器的名字:
$ docker run --name=自定義名 -i -t IMAGE /bin/bash
5,重新開機啟動停止的容器:
$ docker start [-i] 容器名或容器ID
6,删除停止的容器:
$ docker rm 容器名或容器ID
二,守護式容器
1,什麼是守護式容器:
(1)能夠長期運作
(2)沒有互動式會話
(3)适合運作應用程式和服務
2,以守護形式運作容器:
$ docker run -i -t IMAGE /bin/bash
運作之後,不用退出,執行Ctrl+P Ctrl+Q
3,附加到運作中的容器:
$ docker attach 容器名或容器ID
4,啟動守護式容器:
$ docker run -d 鏡像名[COMMAND][ARG...]
-d 以背景形式運作容器
例如:
$ docker run --name dc1 -d ubuntu /bin/sh -c "while true;do echo hello world;sleep 1;done"
5,檢視容器日志:
$ docker logs [-f][-t][--tail] 容器名
-f --follows=true|false 預設為false //一直跟蹤日志的變化,并傳回結果
-t --timestamps=true|false 預設為false //在傳回的結果加上時間戳
--tail ="all" //傳回結尾處多少數量的日志
不指定參數,傳回所有的日志
6,檢視容器内程序:
$docker top 容器名或容器ID
7,在運作的容器内啟動新程序:
$ docker exec [-d][-i][-t] 容器名[COMMAND][AGR...]
例如:
$ docker exec -d -t -i dc1 /bin/bash
8,停止守護式容器:
$ docker stop 容器名|容器ID //發送信号給容器,等待容器的停止,停止後傳回容器名
$ docker kill 容器名或容器 //直接停止容器
三,在容器中部署靜态網站
1,設定容器的端口映射
run [-P][-p]
-P,-publish-all=true|false 預設為false //将容器暴露的所有的端口進行映射
例如:
$ docker run -P -i -t ubuntu /bin/bash
-p,--publish=[],可以指定映射哪些容器的端口,下面使用的四種方式
(1)containerPort,隻指定容器的端口,映射的主控端的端口是随機的
$ docker run -p 80 -i -t ubuntu /bin/bash
(2)hostPort:containerPort:,同時指定主控端的端口和容器的端口
$ docker run -p 8080:80 -i -t ubuntu /bin/bash
(3)ip:containerPort,指定ip和容器的端口
$ docker run -p 0.0.0.0:80 -i -t ubuntu /bin/bash
(4)ip:hostPort:containerPort,指定ip,主控端端口,容器端口
$ docker run -p 0.0.0.0:8080:80 -i -t ubuntu /bin/bash
2,在容器中部署靜态網站-Nginx部署流程
(1)建立映射80端口的互動式容器
$ docker run -p 80 --name=web -i -t ubuntu /bin/bash
(2)安裝Nginx
# apt-get install -y nginx
執行安裝指令,可能出現如下情況:
這時需要執行apt-get update指令,這個指令的作用是:同步 /etc/apt/sources.list 和 /etc/apt/sources.list.d 中列出的源的索引,這樣才能擷取到最新的軟體包。
重新執行安裝指令,可以看到安裝完成
(3)安裝文本編輯器vim
# apt-get install -y vim
(4)建立靜态頁面
(5)修改Nginx配置檔案
(6)運作Nginx
(7)驗證網站通路
1,檢視端口映射
2,通路