1、容器的2種啟動方式:
a、run命令:基于鏡像新建一個容器并啟動容器
docker run options Images command? ( 其中command命令可以不寫,默認命令為/bin/bash )
b、在終止狀態(tài)下的容器,重新進行啟動
2、docker ps -a : 可以查看所有運行過的容器
3、options參數(shù)分為以下幾種:
--name? ? 指定容器的名字
-d? ? 通過后臺運行
-i? ? 交互模式
-t? ? 調(diào)出終端
-p? ? 映射
docker run -p 80:80 nginx:latest? (此時終端進入阻塞模式了,會在本地80端口啟動一個nginx服務(wù),然后通過容器映射到虛擬機上,進行訪問)
測試方法:終端新開一個窗口輸入?curl http://192.168.60.109 (由于是從80映射到80,所以訪問時可以不加端口;如果是從80映射到8000,訪問時就需要加端口了。例如:docker run -p 8000:80 nginx:latest?) ,終端會打印出一串“Thank you for using nginx.”信息,則表示服務(wù)映射開啟成功了:

這時候會發(fā)現(xiàn)終端這邊有打印出一行請求信息:

4、docker ps -q : 列出所有容器的id
-q可以和-a結(jié)合使用,如:docker ps -aq 列出所有運行過的容器的id

5、docker logs + container id : 可以查看容器的運行l(wèi)ogs
6、docker exec -it container id : 進入容器
測試方法:先在后臺啟動一個容器 docker run -d -it ubntu:16.04 ,成功將容器啟動到后臺
再執(zhí)行:docker exec -it + 容器id,就能正常進入容器了。如下:

7、定制鏡像,通過Dockerfile文件來定制的,如下:通過2個命令來實現(xiàn)最簡單的定制

FROM 指定基礎(chǔ)鏡像,即:在什么基礎(chǔ)上面進行修改。如果沒有找到這個鏡像,則會自動先去下載。
8、docker build -t my_nginx:v1 . (注意這個點,一定不要漏掉了)指定build一個my_nginx,指定版本為v1

就會發(fā)現(xiàn)程序先去查找了nginx鏡像,然后執(zhí)行了一個run命令,然后啟動了一個容器,docker images查找一下,就會發(fā)現(xiàn)剛才新啟動的容器了:

9、執(zhí)行一下:docker run -p 80:80 my_nginx:v1 啟動my_nginx終端,新開終端窗口進行訪問:curl http://192.168.60.109:80 就會發(fā)現(xiàn)終端只打印出來“<h1>hello docker </h1>”這行信息,其他信息都被覆蓋掉了。如下:

這時候直接進入容器(注意:進入容器,容器id后面最好加上執(zhí)行路徑文件:/bin/bash ),查看index.html文件也會發(fā)現(xiàn),只輸出了一行hello docker信息,如下:

docker 也是分為客戶端和服務(wù)端的。
10、提個問題:怎么才能把當前目錄文件引入到docker服務(wù)端?
如下:將index.html 拷貝到app目錄

然后啟動下容器,就會發(fā)現(xiàn)文件已經(jīng)正??截惖絘pp目錄了:
