1.總概操作指令
-
初體驗:
docker run hello-world ( 單次啟動笋籽,一次操作容器在處理完操作后會立即關(guān)閉容器)
image.png
-
容器操作:
docker [run | start | stop | restart | kill | rm | pause | unpause]
- docker run/create [鏡像名] :創(chuàng)建一個新的容器并運行一個命令
docker run hello-world (單啟動)
docker run -it --name hello hello-world ( 加別名啟動亮曹,操作后仍可以操作命令 )- start/stop/restart [容器名] :啟動镰吆、停止晨横、重啟一個容器
- kill [容器名] :直接殺掉容器被济,不給進(jìn)行響應(yīng)時間
- rm [容器名] : 刪除已經(jīng)停止的容器
docker rm hello- pause/unpause [容器名] :暫停肄满、恢復(fù)容器中的進(jìn)程
docker [ ps | inspect | exec | logs | export | import]
- ps :查看容器列表(默認(rèn)查看正在運行的容器辟拷,-a查看所有容器)
docker ps -a 列出所有運行的容器
docker ps -l 列出最近運行的容器- inspect [容器名] :查看容器配置元數(shù)據(jù)
docker inspect hello 查看配置- exec -it [容器名] /bin/bash:進(jìn)入容器環(huán)境中交互操作
- 退出容器:exit
- logs --since="2019-02-02" -if -tail=10 [容器名]:查看容器日志
- export -o test.tar [容器名] /docker export [容器名]>test.tar:文件系統(tǒng)作為一個tar歸檔文件
- import test.tar [鏡像名:版本號] :倒入歸檔文件,成為一個鏡像
-
鏡像操作:
docker [ images | rmi | tag | build | history | save | load]
- images:列出本地鏡像表
- rmi [鏡像名:版本] :刪除鏡像
- tag [鏡像名:版本] [倉庫]/[鏡像名:版本] :標(biāo)記本地鏡像掏缎,將其歸入某個倉庫
- build -t [鏡像名:版本] [path]:dockerfile創(chuàng)建鏡像
- history [鏡像名:版本]:查看指定鏡像的創(chuàng)建歷史
- save -o xxx.tar [鏡像名:版本] /save [鏡像名:版本]>xxx.tar :將鏡像保存成tar歸檔文件
- load --input xx.tar / docker load<xxx.tar : 從歸檔文件加載鏡像
2.鏡像容器原理探究用法
-
history查看鏡像層
docker history hello-world
image.png
3.鏡像和容器總結(jié)
一個鏡像就是一個個layer層文件皱蹦,若上層文件與下層文件有重復(fù),則覆蓋下層:
image.png
- 初識掛載時讀寫層為空
- 當(dāng)需要修改鏡像內(nèi)的某個文件時眷蜈,只對處于最上方的讀寫層進(jìn)行了變動沪哺,不復(fù)寫下層已有文件系統(tǒng)內(nèi)容,已有文件在只讀層中的原始版本仍然存在酌儒,但會被讀寫層中新版本文件隱藏辜妓,當(dāng)docker commit 這個修改過的容器為一個新鏡像時,保存的內(nèi)容僅為最上層讀寫文件系統(tǒng)中被更新過的文件。
- 聯(lián)合掛載是用于將多個鏡像層的文件系統(tǒng)掛載到一個掛載點來實現(xiàn)一個統(tǒng)一文件系統(tǒng)視圖的途徑籍滴,是下層存儲驅(qū)動(aufs酪夷、overlay等)實現(xiàn)分層合并方式
4.容器創(chuàng)建詳解
-
交互式創(chuàng)建容器并進(jìn)入
前臺進(jìn)程:
docker run -it --name cent centos /bin/bash (/bin/bash前臺進(jìn)程)
image.png
exit --退出并關(guān)閉容器
ctrl+p+q -- 退出不關(guān)閉容器
image.png -
后臺進(jìn)程:
docker run -d --name cent2 centos
image.png
這個里邊centos是空的,沒指定做什么事异逐,如果用docker ps 看的話捶索,是沒有運行的,啟動后立馬停止的了
需要用cmd指定下灰瞻,不讓centos停掉,或者里邊有軟件運行 進(jìn)入已運行的容器
docker exec -it cent /bin/bash查看容器配置(元數(shù)據(jù))
docker inspect cent綁定容器端口到主機
docker run -d -p 8080:80 --name nginx nginx:latest掛載主機文件到容器目錄內(nèi)(辅甥?)
docker -run -dit -v /root/my dir/:/pdir --name cent centos復(fù)制主機文件到容器內(nèi)(?)
docker cp anacoda.cfg cent:/var