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
加载中...
此文章数据所有权由区块链加密技术和智能合约保障仅归创作者所有。