1 docker的組成
docker通過(guò)客戶(hù)端向服務(wù)器發(fā)送給服務(wù)器守護(hù)進(jìn)程,守護(hù)進(jìn)程處理請(qǐng)求響應(yīng)結(jié)果給客戶(hù)端竭沫。
鏡像锡搜,容器的基石
容器:鏡像的執(zhí)行單元
倉(cāng)庫(kù):用來(lái)保存用戶(hù)創(chuàng)建的鏡像。有官網(wǎng)提供了一個(gè)公有的倉(cāng)庫(kù)知牌。
2 容器
2.1 基本操作
啟動(dòng)容器:docker run image [command] [arg]胀滚;command和arg:為鏡像要執(zhí)行的命令和參數(shù)
啟動(dòng)交互式容器:docker run -i -t ubuntu /bin/bash
查看建立的容器:docker ps [-a] [-l]趟济;不指定參數(shù)則列出正在運(yùn)行的容器,-a為列出所有的容器咽笼,-l表示列出最新創(chuàng)建的容器顷编;
查看容器的詳細(xì)信息:docker inspect 容器名或者容器id
自定義容器名字:docker run --name=自定義名字 image
重新啟動(dòng)停止的容器:docker start -i 容器名 -i表示以交互的方式
刪除停止的容器:docker rm 容器名;不能刪除正在運(yùn)行的容器
2.2 以守護(hù)的方式啟動(dòng)容器
運(yùn)行交互式容器的時(shí)候剑刑,使用Ctrl + p和Ctrl + q 退出交互式容器
附加到運(yùn)行中的容器:docker attach 容器名
啟動(dòng)守護(hù)式容器:docker run -d image [command] [arg] 媳纬,該命令只是以后臺(tái)的形式啟動(dòng)image但是程序執(zhí)行完成之后依舊會(huì)停止
2.3 查看容器內(nèi)部運(yùn)行的情況
通過(guò)日志來(lái)實(shí)現(xiàn)查看內(nèi)部運(yùn)行的情況
docker logs [-f] [-t] [--tail] 容器名:-f 表示一直跟蹤日志的變化,-t在返回的日志中加上時(shí)間戳施掏,tail返回結(jié)尾處多少行數(shù)量的日志
2.4 查看容器中的進(jìn)程
docker top 容器名
2.5 在運(yùn)行中的容器內(nèi)啟動(dòng)新進(jìn)程
2.6 停止守護(hù)式容器
docker stop 容器名钮惠,發(fā)送信號(hào)給容器,等待容器的停止
docker kill 容器名七芭,直接停止容器
3 docker的幫助文檔
man docker
4 在容器中部署服務(wù)
4.1 容器中的端口映射
使用P和p參數(shù):P為容器中的所有的端口進(jìn)行映射素挽,小p為指定的端口進(jìn)行映射
有如下四種方式實(shí)現(xiàn)映射:
將容器的32768端口,映射到宿主機(jī)的80端口
5 鏡像操作
5.1 鏡像的存儲(chǔ)地址
/var/lib/docker狸驳,或者使用docker info命令查看鏡像的存儲(chǔ)地址
5.2 查看鏡像
docker images
鏡像的標(biāo)簽和倉(cāng)庫(kù)兩個(gè)概念
5.3 刪除鏡像
docker rmi 鏡像名
5.4 查找鏡像
兩種方式:一是通過(guò)docker hub查找预明;二是使用命令:docker search 鏡像名
5.5 獲取鏡像
docker pull 鏡像名字
5.6 推送鏡像
docker push 鏡像名
5.7 構(gòu)建鏡像
保存對(duì)容器的修改,方便再次使用耙箍。
兩種構(gòu)建鏡像的方式:
方式1:docker commit 通過(guò)容器實(shí)現(xiàn)構(gòu)建鏡像
方式2:docker build 通過(guò)dockerfile文件構(gòu)建