docker容器的背景及優點不做贅述
docker為go語言開發的一種容器技術,主要用於解決專案"水土"不服問題
在linux系統中使用yum安裝
將yum更新到最新
yum update
安裝需要的軟體包
設定yum源
yum-config-manager --add-repo
安裝docker
yum install -y docker-ce
檢視docker版本,檢驗是否成功
docker -v
服務相關命令映象相關命令容器相關命令
進入容器
docker exec -it 容器名稱 /bin/bash
啟動容器
docker start 容器名稱
停止容器
docker stop 容器名稱
刪除容器
docker rm 容器名稱
docker rm
`docker ps -aq`
#產出所有容器
產看容器資訊
docker inspect 容器名稱
1.資料據卷是什麼?2.資料卷作用:3.配置資料卷
建立、啟動容器時,使用-v引數設定資料卷
docker run ... -v 宿主機目錄(檔案):容器內目錄(檔案)
注:目錄必須是絕對路徑
如果目錄不存在,會自動建立
可以掛載多個資料卷
資料卷容器
資料卷容器可以時多個容器間進行資料操作
原理:多個容器掛載到同乙個資料卷容器上,資料卷再掛載到乙個資料卷,即可實現
建立資料卷容器
docker run -it --name=c3 -v /volume centos:latest
建立普通容器
docker run -it --name=c1 --volumes-from c3 centos:latest
docker run -it --name=c2 --volumes-from c3 centos:latest
mysql:搜尋mysql映象
docker search mysql
拉拉取mysql映象
docker pull mysql:5.6
建立容器
#在/root目錄下建立mysql目錄用於儲存mysql資料資訊
mkdir ~/mysql
cd ~/mysql
docker run -id \
-p 3307:3306 \
--name=n_mysql \
-v $pwd/conf:/etc/mysql/conf.d \
-v $pwd/logs:/logs \
-v $pwd/data:/var/lib/mysql \
-e mysql_root_password=123456 \
mysql:5.6
引數說明:操作docker容器
*使用遠端連線docker資料庫時,ip為宿主機ip;埠為docker容器繫結的宿主機開放埠;密碼為設定的密碼
tomcat:搜尋
docker search tomcat
拉取
docker pull tomcat
建立容器,設定埠對映、目錄對映
#在/root目錄下建立tomcat目錄用於儲存tomcat資料資訊
mkdir ~/tomcat
cd ~/tomcat
docker run -id --name=n_tomcat \
-p 8080:8080 \
tomcat
tips1:本人在建立時未拉取的映象,容器會自動拉取對應的映象docker映象概念:本質為疊加的檔案系統
docker容器轉為映象:
將映象轉為檔案:
將映象壓縮檔案轉為映象:
注:在將容器轉化為映象後,再還原為容器將不包含原掛載的資料卷中的資料,而放置在容器中的資料則還在
dockerfile概念:
dockerfile是乙個文字檔案,包含了一些指令集;每一條指令構建一層,基於基礎映象,最終構建出乙個新的映象。
dockerfile建立案例:
案例一需求:
dockerfile實現:
dockerfile檔案建立完成後使用命令,即可安裝映象:
docker build -f dockerfike檔名 -t 自定義映象名:自定義版本號 .
使用該映象建立容器即可達到目標效果:
案例二需求:
定義dockerfile,發布springboot專案
dockerfile實現:
docker學習筆記
1 docker依賴於linux核心,無法直接安裝在windows環境中,否則需要安裝docker toolbox 2 相關操作 docker create 建立乙個容器但是不啟動它 docker run 建立並啟動乙個容器 docker stop id 停止容器執行,傳送訊號sigterm doc...
Docker學習筆記
一 docker是什麼 docker是乙個開源的引擎,可以輕鬆的為任何應用建立乙個輕量級的 可移植的 自給自足的容器。就相當於書包可以裝書,水杯可以盛水。二 docker解決了什麼問題 我本地沒有問題啊 本地和線上的環境不一致問題,哪個哥們又寫死迴圈了 其他專案的出錯不影響你本身的專案 雙十一伺服器...
docker學習筆記
1.怎麼給執行中的docker容器新增新的埠 解決 1 獲得容器ip docker inspect container name grep ipaddress 2 iptable埠 將容器的8000埠對映到主機的8001埠 iptables tnat adocker ptcp dport 8001 ...