能看到這裡說明你已經在之前 掌握了docker的基本操作,接下來和我一起領略一下docker更大的魅力吧!
為了部署ssm的工程,需要使用到cp的命令將宿主機內的ssm.war檔案複製到容器內部。8.1 建立資料卷資料卷:將宿主機的乙個目錄對映到容器的乙個目錄中。
可以在宿主機中操作目錄中的內容,那麼容器內部對映的檔案,也會跟著一起改變。
建立資料卷之後,缺省會存放在乙個目錄下 /var/lib/docker/volumes/資料卷名稱/_data
docker volume create 資料卷名稱
8.2 檢視資料卷詳情檢視資料卷的詳細資訊,可以查詢到存放路徑,建立時間等等
docker volume inspect 資料卷名稱
8.3 檢視全部資料卷檢視全部資料卷資訊
docker volume ls
8.4 刪除資料卷刪除指定資料卷
docker volume rm 資料卷名稱
8.5 容器對映資料卷對映有兩種方式:
# 通過資料卷名稱對映 (需要先建立乙個資料卷)
docker run -v 資料卷名稱:容器內部的路徑 映象id
# 通過路徑對映資料卷 (推薦使用,因為可以自定義路徑,方便管理)
docker run -v 路徑:容器內部的路徑 映象id
簡單來講,就是在乙個依賴的映象上,新增一些我們自己需要的環境或者軟體,從而封裝成乙個屬於我們自己的映象 !那麼我們應該如何實現呢?9.1 dockerfile
from: 指定當前自定義映象依賴的環境
copy: 將相對路徑下的內容複製到自定義映象中
workdir: 宣告映象的預設工作目錄
run: 執行的命令,可以編寫多個
cmd: 需要執行的命令(在workdir下執行的,cmd可以寫多個,只以最後乙個為準)
# 舉個例子,製作ssm容器映象,而且ssm.war要放在dockerfile的同級目錄下
from daocloud.io/library/tomcat:8.5.15-jre8
9.2 通過dockerfile製作映象編寫完dockerfile後需要通過命令將其製作為映象,並且要在dockerfile的當前目錄下,之後即可在映象中檢視到指定的映象資訊,注意最後的 .
docker build -t 映象名稱[:tag] .
之前執行乙個映象,需要新增大量的引數,可以通過docker-compose編寫這些引數。而且docker-compose可以幫助我們批量的管理容器。這些資訊只需要通過乙個docker-compose.yml檔案去維護即可。
10.1.2 設定許可權
需要將dockercompose檔案的名稱修改一下,給予dockercompose檔案乙個可執行的許可權
mv docker-compose-linux-x86_64 docker-compose
chmod 777 docker-compose
10.1.3 配置環境變數方便後期操作,配置乙個環境變數將docker-compose檔案移動到了/usr/local/bin , 修改了/etc/profile檔案,給/usr/local/bin配置到了path中
mv docker-compose /usr/local/bin
10.1.4 測試在任意目錄下輸入docker-compose10.2 docker-compose管理mysql和tomcat容器
yml檔案以key: value方式來指定配置資訊多個配置資訊以換行+縮排的方式來區分
在docker-compose.yml檔案中,不要使用製表符
version
:'3.1'
services
:mysql
:# 服務的名稱
restart
: always # 代表只要docker啟動,那麼這個容器就跟著一起啟動
image
: daocloud.io/library/mysql:5.7.4 # 指定映象路徑
container_name
: mysql # 指定容器名稱
ports
:- 3306:
3306
# 指定埠號的對映
environment
:mysql_root_password
: root # 指定mysql的root使用者登入密碼
tz: asia/shanghai # 指定時區
volumes
:- /opt/docker_mysql_tomcat/mysql_data:/var/lib/mysql # 對映資料卷
tomcat
:restart
: always
image
: daocloud.io/library/tomcat:8.5.15-jre8
container_name
: tomcat
ports
:- 8080:
8080
environment:tz
: asia/shanghai
volumes
: - /opt/docker_mysql_tomcat/tomcat_logs:/usr/local/tomcat/logs
10.3 使用docker-compose命令管理容器在使用docker-compose的命令時 ,缺省會在當前目錄下找docker-compose.yml檔案
# 1. 基於docker-compose.yml啟動管理的容器
docker-compose up -d
# 2. 關閉並刪除容器
docker-compose down
# 3. 開啟|關閉|重啟已經存在的由docker-compose維護的容器
docker-compose start|stop|restart
# 4. 檢視由docker-compose管理的容器
docker-compose ps
# 5. 檢視日誌
docker-compose logs -f
10.4 docker-compose配合dockerfile使用使用docker-compose.yml檔案以及dockerfile檔案在生成自定義映象的同時啟動當前映象,並且由docker-compose去管理容器10.4.1 docker-compose檔案
編寫docker-compose.yml檔案
# yml檔案
version
:'3.1'
services
:ssm
:restart
: always
build
:# 構建自定義映象
context
: ../ # 指定dockerfile檔案的所在路徑
dockerfile
: dockerfile # 指定dockerfile檔名稱
image
: ssm:1.0.1
container_name
: ssm
ports
:- 8081:
8080
environment:tz
: asia/shanghai
10.4.2 dockerfile檔案編寫dockerfile檔案
from daocloud.io/library/tomcat:8.5.15-jre8
10.4.3 執行測試效果
# 可以直接啟動基於docker-compose.yml以及dockerfile檔案構建的自定義映象
docker-compose up -d
# 如果自定義映象不存在,會幫助我們構建出自定義映象,如果自定義映象已經存在,會直接執行這個自定義映象
# 重新構建的話。
# 重新構建自定義映象
docker-compose build
# 執行當前內容,並重新構建
docker-compose up -d --build
能學到這裡,並成功執行這些例子,你就已經很棒了!!!
下面關於ci和cd的操作可能對於初學者有些困難,為此我把這些內容專門拿出來另寫一篇部落格,對此感興趣的可以仔細研究,一起**!!!
人生一小時
桌面,侵刪 今天不小心開啟部落格,發現乙個有意思的事情,我已經大半年沒有寫過部落格了!現在看看我之前寫的習慣清單 堅持寫部落格,真是汗顏啊。這半年來工作也不是很忙,平常也不知道幹些啥,日子一天天就過去了,感覺時間真的在變快啊,不知道大家是不是也是跟我一樣的感覺,這難道就是生活 生下來,活下去 看看鏡...
openMP一小時初探
參考 通過 gcc 學習 openmp 框架 詳細,我只看到臨界區之前 openmp基本概念 全看,內含並行化控制的三種程式設計要素 編譯制導 api函式集和環境變數 openmp入門教程 一 也講了fork join執行模型 執行緒概念 資料作用域.我主要跟著第一篇教程看了部分內容,後面兩篇當作補...
如何一小時學會字尾陣列,一小時學會字尾自動機?
前言 反正因為一些tuosh事情,我必須得兩小時學會它們。我服了。後期可能會再學,但是這個標題不準備更改了。來吧!參考資料 hihocoder 例題 1.suffix 把乙個字串後面加上乙個符號 將其所有字尾取出來,其中suffix i 表示從第i個字元開始的字尾。2.sa 字尾陣列 把suffix...