Docker容器必知必會,你會了嗎?
來,直接大家提供親測有效的操作,節(jié)省大家的學(xué)習(xí)時(shí)間
1,首先,明確安裝一個(gè)軟件的步驟
查找鏡像
拉取鏡像
通過鏡像創(chuàng)建容器
啟動(dòng)容器
那么關(guān)于鏡像的操作,在上一篇文章,我們已經(jīng)講過了,如果你還不清楚,可以查看鏈接:
https://zhuanlan.zhihu.com/p/127077503
2、創(chuàng)建容器
命令:docker create --name 容器名稱 -p 宿主端口號:容器端口號 鏡像名稱:版本號
其中,容器名稱由我們自已定義
案例:docker create --name tomcat -p 8080:8080 docker.io/tomcat
3、容器的啟動(dòng),停止及重啟
docker start 容器名稱或容器ID
docker stop 容器名稱或容器ID
docker restart 容器名稱或容器ID
比如:docker start tomcat
4,查看已啟動(dòng)的容器
docker ps
常用參數(shù):
-a:當(dāng)前運(yùn)行和以往運(yùn)行過的所有容器?
-l:最近運(yùn)行過的容器?
-q:只顯示容器標(biāo)識?
-s: 輸出表格新增一個(gè)SIZE字段,用于描述容器的大小
5,操作匯總

6、設(shè)置安全組,訪問測試tomcat實(shí)例
注意,要設(shè)置安全組,開放8080訪問端口,否則客戶端將無法訪問

7,創(chuàng)建并啟動(dòng)容器
命令格式:docker run [OPTIONS] IMAGE [COMMAND] [ARG...]
OPTIONS說明:
--name="容器名字": 為容器指定一個(gè)名稱;?
-d: 后臺運(yùn)行容器,并返回容器ID,也即啟動(dòng)守護(hù)式容器;?
-i:以交互模式運(yùn)行容器,通常與 -t 同時(shí)使用;?
-t:為容器重新分配一個(gè)偽輸入終端,通常與 -i 同時(shí)使用;?
-p: 指定端口映射,hostPort:containerPort?
-e: ?設(shè)置環(huán)境變量;
根據(jù)一個(gè)鏡像,創(chuàng)建并且啟動(dòng)一個(gè)容器,如果本地沒有該鏡像會自動(dòng)去遠(yuǎn)程庫中拉取
案例:docker run --name tomcat -d -p 8080:8080 docker.io/tomcat
8,容器的停止和刪除,退出
1,停止某個(gè)容器:
docker stop 容器名稱
2,刪除某個(gè)容器:
docker rm 容器名稱(注意:容器必須是停止?fàn)顟B(tài))
docker rm -f 強(qiáng)制刪除
3,重啟容器 docker restart 容器名稱/容器id
4,強(qiáng)制停止容器 docker kill 容器名稱/容器id
5,一次性刪除多個(gè)容器
docker rm -f $(docker ps -a -q)
6,退出容器有兩種方式
exit 容器停止退出
ctrl+P+Q 容器不停止退出
9,查看容器的日志
docker logs -f -t --tail 10 容器ID
-t 是加入時(shí)間戳
-f 跟隨最新的日志打印
--tail 數(shù)字 顯示最后多少條
10,查看容器內(nèi)運(yùn)行的進(jìn)程
docker top 容器ID
11,查看容器內(nèi)部的詳細(xì)信息
docker inspect 容器名稱/容器id
12,進(jìn)入正在運(yùn)行的容器。并進(jìn)行交互
docker exec -it 容器ID bashShell
比如:docker exec -it 0c571c81d0b9 /bin/bash

13,commit,創(chuàng)建新的鏡像
遇到無法編輯的問題:
bash: vi: command not found
解決辦法:
apt-get install vim
遇到報(bào)錯(cuò)
apt-get update
更新完畢之后,再重新執(zhí)行上面的指令
apt-get install vim
commit命令可以將一個(gè)容器(該容器可能做了某些修改),提交生成一個(gè)新的鏡像
docker commit 容器id [新的鏡像名稱[:tag]]
比如:
docker commit 9a990c39e5df mytomcat:8
docker run --name tomcat -d -p 8080:8080 mytomcat:8