当前位置:   article > 正文

centos服务器详细安装docker及配置、部署,包括docker部署nuxt ssr服务端渲染、springboot jar包、mysql、nginx_centos docker安装部署

centos docker安装部署

分享一下我在搭建博客的过程中,服务器的搭建到项目打包、部署上线的过程,这篇文章讲的是centos安装docker,docker下配置、并运行vue nuxt的srr服务端渲染项目、后台vue-element-admin项目、mysql数据库、后端springBoot jar包项目以及nginx服务的容器、镜像。推荐使用termius,可以去我的公众号输入termius获取破解版(win+mac),需要termius详细破解步骤的可以看我写的另一篇文章:https://baijiahao.baidu.com/builder/preview/s?id=1740108535112836052

好了,废话不多说,开始正题。

1.centos下安装docker

使用官方安装脚本自动安装

curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun

如果你的服务器有旧版的,记得先删除

  1. sudo yum remove docker \
  2.      docker-client \
  3.      docker-client-latest \
  4.      docker-common \
  5.      docker-latest \
  6.      docker-latest-logrotate \
  7.      docker-logrotate \
  8.      docker-engine

1.1 设置docker仓库

在新主机上首次安装 Docker Engine-Community 之前,需要设置 Docker 仓库。之后,您可以从仓库安装和更新 Docker。

设置仓库

安装所需的软件包。yum-utils 提供了 yum-config-manager ,并且 device mapper 存储驱动程序需要 device-mapper-persistent-data 和 lvm2。

  1. sudo yum install -y yum-utils \
  2.   device-mapper-persistent-data \
  3.   lvm2

使用以下命令来设置稳定的仓库。

  1. sudo yum-config-manager \
  2.     --add-repo \
  3.     https://download.docker.com/linux/centos/docker-ce.repo

1.2 安装 Docker Engine-Community最新免费版

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

1.3 启动docker并查看docker是否安装成功

  1. sudo systemctl restart docker // 启动docker
  2. docker version // 查看docker版本

有client和service两个模块说明安装成功

1.4 如需卸载docker

  1. // 删除安装包
  2. sudo yum remove docker-ce
  3. // 删除镜像、容器、配置文件等内容
  4. sudo rm -rf /var/lib/docker

2.docker安装nginx

Tips: 如果需要看nginx.conf配置请移步到https://blog.csdn.net/weixin_41863539/article/details/126057525

2.1 拉取最新镜像

docker pull nginx:latest

2.2 创建nginx目录

  1. mkdir -p /nginx/conf
  2. mkdir -p /nginx/logs
  3. mkdir -p /nginx/html
  4. mkdir -p /nginx/cert
  5. // 创建nginx.conf文件
  6. cd /nginx
  7. vim nginx.conf

2.3 创建nginx容器

  1. cd /nginx
  2. docker run -d --name nginx \
  3.     --restart=always \
  4.     -v $PWD/nginx.conf:/etc/nginx/nginx.conf \
  5.     -v $PWD/logs/:/var/log/nginx/ \
  6.     -v $PWD/html/:/usr/share/nginx/html/ \
  7.     -v $PWD/cert/:/etc/nginx/cert/ \
  8.     -p 443:443 \
  9.     -p 80:80 \
  10.     -p 8100-8300:8100-8300 \
  11.     nginx

上面的意思:

指你根目录,PWD = /nginx

$PWD那边指你的服务器目录,:后面的是指映射到docker下的目录

docker run:在docker中启动一个容器实例

-v $PWD/nginx.conf:/etc/nginx/nginx.conf \:将容器/etc/nginx/nginx.conf目录下的数据,备份到主机的 /nginx/nginx.conf目录下,-v同理,不一一举例了

-p 80:80:容器与主机映射端口为,开放nginx端口,记得在腾讯云或者阿里云上开放防火墙端口,其他-p同理

--name nginx:容器运行后的名称

nginx:需要运行的容器名称

2.4 查看nginx容器

  1. docker restart nginx
  2. docker ps

2.5 如需删除nginx容器

  1. // stop、rm你的镜像名字或者CONTAINER ID
  2. docker stop nginx
  3. docker rm nginx

3.docker安装mysql

3.1 拉取最新镜像

docker pull mysql:latest

3.2 创建mysql容器

  1. sudo docker run -p 3306:3306 \
  2. --name mysql \
  3. -v /mysql/log:/var/log/mysql \
  4. -v /mysql/data:/var/lib/mysql \
  5. -v /mysql/conf:/etc/mysql/conf.d \
  6. -e MYSQL_ROOT_PASSWORD=123456 \
  7. --privileged=true -d mysql \

上面的意思:

docker run:在docker中启动一个容器实例

-p 3306:3306:容器与主机映射端口为,主机3306,容器3306

--name mysql:容器运行后的名称

-v /mysql/log:/var/log/mysql:将容器/var/log/mysql目录下的数据,备份到主机的 /mysql/log目录下,-v同理,不一一举例了

-e MYSQL_ROOT_PASSWORD=123456:设置当前mysql实例的密码为root

mysql:需要运行的容器名称

3.3 查看mysql容器

  1. docker restart mysql
  2. docker ps

3.4 如需删除mysql容器

  1. docker stop mysql
  2. docker rm mysql

4.docker安装node、npm、yarn

  1. docker pull node:latest
  2. node -v
  3. npm -v
  4. npm install --global yarn

5.docker部署nuxt ssr服务端渲染项目

5.1 创建nuxt项目目录

  1. mkdir -p /nuxt/src
  2. cd /nuxt
  3. vim Dockerfile

5.2 配置Dockerfile

  1. [root@VM-12-15-centos blog]# cat Dockerfile 
  2. FROM node
  3. # ENV NODE_ENV=test
  4. ENV HOST 0.0.0.0
  5. EXPOSE 80
  6. WORKDIR /nuxt
  7. COPY ./src/package*.json ./
  8. RUN yarn
  9. COPY ./src/ .
  10. CMD [ "yarn""start" ]

上面的意思:

src下放的是你nuxt项目build后的东西

必须是要放这4个

退出编辑并保存 :wq!

退出编辑并不保存 :q!

5.3 创建nuxt项目镜像并启动容器

  1. cd /nuxt
  2. docker build --no-cache -t nuxt-demo -f Dockerfile .
  3. docker stop nuxt-demo
  4. docker rm nuxt-demo
  5. docker run --name nuxt-demo \
  6. -p 8080:80 nuxt-demo \

6.docker部署springBoot jar包

6.1 安装java

6.1 安装jdk8包

先把jdk8包(alpine-oraclejdk8.tar)放到服务器目录上,需要的请去本公众号 安哥说前端 回复 docker-jdk8包 领取。

  1. cd /nginx/html/spring-boot
  2. docker load -i alpine-oraclejdk8.tar 

6.2 把jar包放入目录,自己mkdir创建目录,上面也有讲到,然后创建Dockerfile

  1. [root@VM-12-15-centos spring-boot]# vim Dockerfile 
  2. # 基础镜像
  3. FROM frolvlad/alpine-oraclejdk8:slim
  4. # 创建变量,供外部传参
  5. ARG FILENAME='blog'
  6. # 创建环境变量,取值所传入参数
  7. ENV MODULENAME ${FILENAME}
  8. # 开放容器对外端口
  9. EXPOSE 7020
  10. # 在容器下创建目录
  11. RUN mkdir -p /opt/application/${FILENAME}
  12. # 将本地压缩包复制解压到容器下新建目录
  13. ADD *.jar /opt/application/${FILENAME}/blog.jar
  14. # 指定工作目录
  15. WORKDIR /opt/application/${FILENAME}
  16. # 配置容器启动命令,即启动后台服务
  17. CMD ["java","-jar","./blog.jar"]

退出编辑并保存 :wq!

退出编辑并不保存 :q!

6.3 创建镜像并启动容器

  1. cd /nginx/html/spring-boot
  2. docker stop blog-spring-boot
  3. docker rm blog-spring-boot
  4. docker rmi blog-jdk8-spring-boot-jar
  5. docker build --no-cache -t blog-jdk8-spring-boot-jar -f Dockerfile .
  6. docker run -it -d --name blog-spring-boot \
  7. -p 7020:7020 \
  8. -v /nginx/html/spring-boot/img-log:/opt/application/blog/logs/ \
  9. blog-jdk8-spring-boot-jar
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/笔触狂放9/article/detail/186701
推荐阅读
相关标签
  

闽ICP备14008679号