linux下使用docker容器部署web應用

2021-10-02 07:07:54 字數 2758 閱讀 9660

一、認識docker

docker 是乙個開源的應用容器引擎,基於 go 語言 並遵從 apache2.0 協議開源。

docker 可以讓開發者打包他們的應用以及依賴包到乙個輕量級、可移植的容器中,然後發布到任何流行的 linux 機器上,也可以實現虛擬化。

二、docker的應用場景

web 應用的自動化打包和發布。

自動化測試和持續整合、發布。

在服務型環境中部署和調整資料庫或其他的後台應用。

從頭編譯或者擴充套件現有的 openshift 或 cloud foundry 平台來搭建自己的 paas 環境。

三、docker 的優點

docker 是乙個用於開發,交付和執行應用程式的開放平台。docker 使您能夠將應用程式與基礎架構分開,從而可以快速交付軟體。借助 docker,您可以與管理應用程式相同的方式來管理基礎架構。通過利用 docker 的方法來快速交付,測試和部署**,您可以大大減少編寫**和在生產環境中執行**之間的延遲。

1、快速,一致地交付您的應用程式

docker 允許開發人員使用您提供的應用程式或服務的本地容器在標準化環境中工作,從而簡化了開發的生命週期。

容器非常適合持續整合和持續交付(ci / cd)工作流程,請考慮以下示例方案:

您的開發人員在本地編寫**,並使用 docker 容器與同事共享他們的工作。

他們使用 docker 將其應用程式推送到測試環境中,並執行自動或手動測試。

當開發人員發現錯誤時,他們可以在開發環境中對其進行修復,然後將其重新部署到測試環境中,以進行測試和驗證。

測試完成後,將修補程式推送給生產環境,就像將更新的映象推送到生產環境一樣簡單。

四、好了簡單介紹了下docker,下面進入正題

1、linux系統centos7.2 作為宿主機

2、安裝docker容器

步驟:2.2、設定阿里雲映象源–命令:sudo yum-config-manager --add-repo

2.3、安裝 docker-ce–命令:sudo yum install docker-ce

2.4、啟動docker服務–命令:service docker start

3.1、設定docker開機自啟動–命令:sudo systemctl enable docker

3.2、docker重啟動–命令:docker restart docker容器名

3.2、檢視執行的容器–命令:docker ps 【正在執行的docker容器】

3.3、檢視所有的容器–命令:docker ps -a【包含已經停止的容器】

3.4、指定容器啟動–命令:docker start -i docker容器名

3.5、刪除docker容器–命令:docker rm docker容器名

3.6、建立並啟動docker容器–命令:docker run -p 0.0.0.0::8888:80 -it --name=sx centos /bin/bash

此處說明:設定docker容器埠對映四種方式:

3.6.1、docker run -p 80 -i -t centos /bin/bash 【該方式指定容器埠-宿主機埠隨機】

3.6.2、docker run -p 8080:80 -i -t centos /bin/bash【該方式指定宿主機埠:容器埠】

3.6.3、docker run -p 0.0.0.0:80 -i -t centos /bin/bash 【該方式指定宿主機ip:容器埠】

3.6.4、docker run -p 0.0.0.0:8888:80 -i -t centos /bin/bash 【該方式指定宿主機ip:埠:容器埠】常用這種方式

通過3.6.4命令建立好容器後,外部可以通過訪問宿主機ip:8080埠對映到docker容器的80埠。

3.7、守護式容器快捷退出鍵:ctrl+q ctrl+p【此快捷鍵退出後,程式後台正常執行】

3.8、docker利用iptables防火牆技術實現使用者ip許可權訪問。

3.9、檢視docker資訊–命令:docker inspect docker容器名

3.10、進入執行的docker容器–命令:docker attach docker容器

3.11、linux與docker之間的檔案傳輸–命令:

3.11.1:–宿主機linux檔案複製到容器docker中的命令:docker cp 要拷貝的檔案路徑 容器名:要拷貝到容器裡面對應的路徑

3.11.2–docker容器複製到宿主機linux中的命令:docker cp 容器名:要拷貝的檔案在容器裡面的路徑 要拷貝到宿主機的相應路徑

3.12、檢視所有tcp埠–命令:netstat -ntlp

4、docker容器部署vue前端web專案

4.1、進入docker容器:docker attach sx【docker容器名】 如圖:

a.安裝需要的環境,docker預設沒有vim編譯器–yum install vim

b.安裝nginx–yum install nginx

使用Pycharm遠端連線docker容器

既然你搜到我這篇文章,那麼配置遠端連線伺服器 宿主機 應該不是問題,如果沒有配置過可以參考 這篇部落格pycharm如何配置連線遠端伺服器 首先你要有乙個映象,執行的時候使用指令 需要對映乙個埠用於sftp,此處用1234 docker run v data guacamole var log gu...

6 使用cadvisor監控docker容器

prometheus監控docker容器執行狀態,我們用到cadvisor服務,cadvisor我們這裡也採用docker方式直接執行。這裡我們可以服務端和客戶端都使用cadvisor root localhost opt docker pull google cadvisor root local...

Linux下使用docker部署Redis(三)

linux下使用docker部署前後分離netcore webapi專案 前端vue頁面 mysql redis sqlite linux下使用docker部署netcore 一 linux下使用docker部署mysql 二 linux下使用docker部署redis 三 linux下使用dock...