banner
{小朋友}

xiaopy

docker安裝Nginx鏡像並部署項目

安裝 Docker Engine-Community#

1. 使用 Docker 倉庫進行安裝#

在新主機上首次安裝 Docker Engine-Community 之前,需要設置 Docker 倉庫。之後,您可以從倉庫安裝和更新 Docker

  • 設置倉庫

安裝所需的軟體包。yum-utils 提供了 yum-config-manager,並且 device mapper 存儲驅動程序需要 device-mapper-persistent-data 和 lvm2。

sudo yum install -y yum-utils  device-mapper-persistent-data  lvm2
  • 使用以下命令來設置穩定的倉庫。
 sudo yum-config-manager \
    --add-repo \
    https://download.docker.com/linux/centos/docker-ce.repo

2. 安裝 Docker Engine-Community#

安裝最新版本的 Docker Engine-Community 和 containerd,或者轉到下一步安裝特定版本 如果提示你是否接受密鑰 選擇是

sudo yum install docker-ce docker-ce-cli containerd.io

3. 啟動 docker#

sudo systemctl start docker

4. 通過運行 hello-world 映像來驗證是否正確安裝了 Docker Engine-Community 。#

sudo docker run hello-worldv

安裝 nginx#

1. 查看官方倉庫映像#

docker search nginx

01

2. 拉取映像#

docker pull nginx

image

3. 查看映像#

docker images

xxxxxxxxxx # 複製 copy 路徑 \ 文件名 路徑 \ 文件名 #移動 move 路徑 \ 文件名 路徑 \ 文件名 PowerShell

4. 啟動 nginx 映像#

這裡的 —name nginx 可要可不要 這是給 nginx 命名

docker run -d -p 8080:80 --name nginx-8080 nginx

image-20220927225235759

5. 訪問網頁端口#

公安網伺服器 ip 加上 8080 訪問就可以得到

如果到這一步 六瀏覽器沒有打開以下內容,就是你的伺服器沒有開放 8080 端口

我這裡是阿里雲 在安全組開發 8080 端口即可

image-20220927225250876

6. nginx 關閉 / 啟動#

#關閉
docker stop nginx-8080    # 按照我的方法在上面給nginx命名了
docker stop id            # 這裡是沒有命名nginx 需要用docker ps 查看已經啟動的映像 拿到nginx的id 來關閉nginx

#啟動
docker restart nginx-8080 # 這裡也一樣 沒有命名 就需要去拿 nginx 的id

安裝 git 並拉取代碼#

安裝#

yum install -y git

# 檢查是否出現版本號  出現則安裝成功
git version

git 配置#

# 配置一個用於提交代碼的用戶,輸入命令
git config --global user.name "Your Name"

#配置一個用戶郵箱,輸入命令
git config --global user.email "[email protected]"

#生成公鑰和私鑰,輸入命令後一路回車即可
ssh-keygen -t rsa -C "[email protected]"

#查看公鑰和私鑰
cat /root/.ssh/id_rsa.pub

image-20220927225305381

一下就是密鑰,複製它#

image-20220927225315877

打開 github#

image-20220927225327507

image-20220927225343849

image-20220927225358487

然後就可以在伺服器 拉取代碼了#

git clone 項目地址

CentOS 安裝 nvm#

  • 可以通過curl或者 wget 進行安裝,命令如下
#curl

curl -o- [https://raw.githubusercontent.com/creationix/nvm/v0.33.1/install.sh](https://raw.githubusercontent.com/creationix/nvm/v0.33.1/install.sh) | bash

#wget

wget -qO- [https://raw.githubusercontent.com/creationix/nvm/v0.33.1/install.sh](https://raw.githubusercontent.com/creationix/nvm/v0.33.1/install.sh) | bash

安裝完後,如果是用 xshell 連遠程主機的話,先重連一次,不然會發現提示找不到 nvm 命令

可能出現依舊提示找不到 nvm 命令,那麼請使用 source 命令,如下

source ~/.bashrc

#如果是zsh的話

source ~/.zshrc

到這裡執行 nvm 看看是否安裝成功

安裝 yarn

npm install yarn -g

項目打包,部署上線#

正常 git 拉取項目下來,執行以下命令#

git clone ...  # 拉取遠程倉庫項目

yarn           # 安裝項目包

yarn build     # 打包項目 會生成一個dist文件

先把 docker 容器停掉#

docker ps    # 查看在運行的 nginx  依次停止


# 一定要在項目根目錄下面執行命令  $PWD代表當前路徑
docker run -d -p 8080:80 -v $PWD/dist:/usr/share/nginx/html nginx


docker ps    # 查看nginx是否啟動

這時候再去訪問項目 ip 就可以成功訪問到了

腳本簡化部署命令#

這時候在每次寫代碼都會去執行 關閉容器 pull 代碼 執行啟動命令會很麻煩 在項目的根目錄下創建一個 文件名 start.sh


# start.sh     啟動命令 sh start.sh

git pull

yarn --registry=https://registry.npm.taobao.org/ && yarn build

#刪除容器
docker rm -f xiaopy &> /dev/null

#啟動容器
docker run -d --restart=on-failure:5\
    -p 8080:80 \
    -v $PWD/dist:/usr/share/nginx/html \
    --name xiaopy nginx
載入中......
此文章數據所有權由區塊鏈加密技術和智能合約保障僅歸創作者所有。