docker 實戰-項目部署

前面學習了 docker 的命令和實際的用法,如今來實戰一下。編排一個服務,也就是項目部署。docker

目前咱們在一個閉源環境下工做,介紹一些工做流程和部署項目的方法。npm

該工做流程比較特殊服務器

所謂閉源環境就是網絡

  • 沒有網絡,客戶機沒有連接外網。
  • 不能使用U盤鏈接客戶機,由於那是涉密機器。
  • 咱們本身的電腦沒有限制,能夠鏈接外網,咱們鏈接的本身的熱點。

因而,咱們所作的修改須要作成鏡像、刻成光盤,而後拷貝到客戶機,上傳到服務器,而後部署,部署完成後,最後測試修改內容是否符合預期。學習

項目部署

本機操做

1. 發佈鏡像

  • 代碼編寫完成,先 npm run build 編譯成功,確保代碼能經過編譯檢測
  • 保證登陸了 docker,而後運行 sh 腳本,通常位於 docker 目錄下,進而發佈鏡像
  • 若是 sh 腳本中沒有 docker push 命令,則須要另外運行該命令,將其發佈到 docker hub

2. 導出鏡像

  • 若是是導出別人的鏡像,則須要先拉取鏡像 docker pull imageName
  • 導出鏡像 docker save url/<imageName>:<tagName> > <imageName>:<tagName>

這樣就在當前目錄導出了該鏡像測試

3. 刻盤

將上面的鏡像文件拷貝到光盤中,刻錄,等待刻錄完成。ui

客戶電腦操做

4. 將鏡像上傳到服務器

  1. 在客戶機上新建目錄存放光盤中的鏡像文件,新建的文件夾最好包含日期和項目名,如 20191105_biaozu,這麼作的目的是備份鏡像文件。同時也爲下一步將文件拷貝到服務器做準備。
  2. 將 20191105_biaozu 中的鏡像文件拷貝到服務器目錄 /../images/<projectName>

將光盤中的文件拷貝到客戶硬盤,而後再將客戶硬盤裏的文件拷貝到服務器所花費的時間要少於單獨從光盤拷貝文件到服務器。url

服務器操做

5. 導入鏡像

  1. 進入到拷貝鏡像的服務器目錄,爲了好說明,稱爲鏡像目錄。實際上鏡像能夠放到任何地方,只要在保證在服務器上了,就能保證是正確的。如: data/datagrand/images/bizozu_images
  2. 命令 ll 查看該目錄下是否有剛導入的鏡像文件,同時確認鏡像名 <imageName>和標籤 <tagName>
  3. 將拷貝到服務器的鏡像導入,在包含鏡像的目錄下執行命令 docker load -i <imageName>:<tagName>,這個命令是 save 反向操做。在本地將咱們本地倉庫裏面的鏡像保存(導出)到咱們指定的目錄。在服務器上,將鏡像導入到指定的目錄。

導入鏡像後能夠經過命令docker images|grep <imageName>查看指定鏡像的信息,確保鏡像已經導入成功rest

6. 更改鏡像名

  1. 進入到部署目錄,如:data/datagrand/images/bizozu_deploy
  2. 更改 docker-compose.yml,將裏面的 image 屬性(全部有改動的鏡像)改爲導入的鏡像名。

7. 刪除容器、鏡像

使用命令 docker-compose down 刪除容器/鏡像code

8. 啓動容器、鏡像

使用命令 docker-compose up 啓動容器/鏡像

刪除容器而後啓動容器可使用 docker-compose restart 重啓,一步完成,可是該命令不會對修改的 docker-compose.yml 文件生效。

docker-compose down 與 docker-compose up 可以重啓鏡像,並對修改的 docker-compose.yml 生效。

可用命令
docker images|grep <imageName> 查看指定容器的信息
ll 列出全部的文件和目錄,包含文件最後修改時間、文件大小等信息,而且每一個每一項換行顯示

相關文章
相關標籤/搜索