docker容器是一個(gè)獨(dú)立的系統(tǒng)绣夺,相比于VM方援,不需要綁定整個(gè)操作系統(tǒng),只需要程序運(yùn)行所需要的library,settins即可式镐,更輕量級(jí)反镇,獨(dú)立、有效
docker能自動(dòng)化重復(fù)性的軟件環(huán)境娘汞、參數(shù)配置等工作歹茶,開發(fā)人員可專注于技術(shù)研發(fā),不需要去配置復(fù)雜的參數(shù)等
image是一個(gè)輕量級(jí)你弦、獨(dú)立的惊豺、可執(zhí)行的包,包含了程序運(yùn)行所需要的所有東西鳖目。包括代碼扮叨、library、環(huán)境變量领迈、配置文件等
container是image的執(zhí)行實(shí)例,默認(rèn)情況下是完全獨(dú)立于主機(jī)環(huán)境。容器中的app,library通過(guò)docker在主機(jī)內(nèi)核上(host os狸捅,多個(gè)容器共享)衷蜓,可直接獲取主機(jī)的本地訪問,而VM的app,library是運(yùn)行在自己的Guest OS上的尘喝,通過(guò)hypervisor來(lái)獲取虛擬訪問到主機(jī)資源磁浇。因此容器性能特點(diǎn)更好。
docker包括docker-ce,docker-ee版朽褪,即社區(qū)版和企業(yè)版置吓,通常開發(fā)或小規(guī)模使用ce即可
Container
1. 編寫 dockerFile
2. 使用 docker build 命令生成image
3. 使用 docker login 登錄倉(cāng)庫(kù),例如:
docker login -u user -p password wenwenkj.com:5000
4. 使用 docker tag 對(duì)image打標(biāo)簽
5. 使用 docker push 將image推送到倉(cāng)庫(kù)
相關(guān)命令如下:
docker build -t friendlyname .? # Create image using this directory's Dockerfile
docker run -p 4000:80 friendlyname? # Run "friendlyname" mapping port 4000 to 80
docker run -d -p 4000:80 friendlyname? ? ? ? # Same thing, but in detached mode
docker ps? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? # See a list of all running containers
docker stop# Gracefully stop the specified container
docker ps -a? ? ? ? ? # See a list of all containers, even the ones not running
docker kill# Force shutdown of the specified container
docker rm# Remove the specified container from this machine
docker rm $(docker ps -a -q)? ? ? ? ? # Remove all containers from this machine
docker images -a? ? ? ? ? ? ? ? ? ? ? ? ? ? ? # Show all images on this machine
docker rmi# Remove the specified image from this machine
docker rmi $(docker images -q)? ? ? ? ? ? # Remove all images from this machine
docker login? ? ? ? ? ? # Log in this CLI session using your Docker credentials
docker tag
username/repository:tag? # Tag
for upload to registry
docker push username/repository:tag? ? ? ? ? ? # Upload tagged image to registry
docker run username/repository:tag? ? ? ? ? ? ? ? ? # Run image from a registry