docker學習筆記2021 2 17

2021-10-19 12:11:09 字數 3173 閱讀 5547

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 ...