Docker 自动化部署(实践)

常用命令

docker search jenkins查看需要的jenkins镜像源
docker pull jenkins/jenkins 拉取jenkins镜像
docker images查看下载的镜像源
docker ps 查看包含启动以及未启动的容器
docker ps -a查看启动的容器
docker rm 容器id/容器名称 删除容器
docker rm -f 容器id/容器名称 删除容器(强制删除容器,运行状态也删除)
docker rmi 下载镜像源id 删除我们下载的镜像源

1.创建nginx服务器容器

1.1linux使用ssh远程登陆

ssh root@101.42.154.167//公网ip

密码为我们服务器购买以后设置的ssh远程登录的密码

1.2拉取nginx镜像源

docker pull nginx

1.3创建需要映射的文件

mkdir -p /home/www/nginxConf/demo
mkdir -p /home/www/demo

此时该文件创建在我们服务器目录上根目录找home文件创建在home当中

1.4运行容器

--name后是容器名称 
-p 81:80端口进行映射将本地81端口映射到容器内部的80端口
-d nginx为设置容器在后台一直运行

docker run --name demo -d -p 81:80 nginx

1.5映射数据 demo为我们创建的第一个容器的容器名称

cp是用于容器与主机之间的数据拷贝

demo:/etc/nginx/nginx.conf /home/www/nginxConf/

将容器demo的/etc/nginx/nginx.conf目录拷贝到主机的/home/www/nginxConf/目录中。

docker cp demo:/etc/nginx/nginx.conf /home/www/nginxConf/
docker cp demo:/etc/nginx/conf.d/ /home/www/nginxConf/
docker cp demo:/usr/share/nginx/html/ /home/www/demo/dist

1.6文件映射结束,删除容器

我们通过创建容器demo,将demo容器的配置文件拷贝到主机当中 它的作用是为了让我们使用创建容器的配置文件,后期我们通过主机容器映射到新的容器 从而实现nginx文件同步映射到堡塔文件

docker rm -f demo

2.jenkins安装登录

2.1拉去jenkins镜像源

docker search jenkins//查看需要的jenkins镜像源
docker pull jenkins/jenkins 拉取jenkins镜像

2.2运行jenkins容器

-u root root用户权限去启动系统
-p 9095:8080端口映射
--name my_jenkins 容器名称

docker run -id -u root --name my_jenkins -p 9095:8080  -p 50000:50000 jenkins/jenkins

2.3登录jenkins页面

访问我们运行容器时端口映射的端口 通过公网ip去访问进入jenkins登录页面

 

docker exec -it my_jenkins bash
cat /var/jenkins_home/secrets/initialAdminPassword

获取密码 此时如果粘贴切记选择只粘贴文本,否则有可能存在密码不正确问题 

2.4选择安装推荐的插件

2.5创建管理员用户

此时第一次创建需要手动创建 后续可以直接点击使用admin账户继续

如果需要密码 仍然执行2.3获取密码登录

3.自动化配置

3.1下载需要的插件

Nodejs Git Gitee Publish Over SSH依次下载

 

 搜索下载插件

3.2创建任务

 

 

 

 3.3配置远程仓库地址(拉取代码)

 

填写url地址

 

需要添加证书(Credentials) 

用户名为gitee的用户名@后面的为用户名

密码为gitee的密码 忘记可以重新设置密码 

此时就不会报红色错误 

点击立即构建

此时我们可以看到已经将代码拉取到工作空间当中

 3.4构建触发器配置(监听我们代码的推送 从而实现代码推送自动构建)

点击生成webHook密码 

 

记住这个url地址 gitee仓库配置url地址填写这个地址 密码填写下方Gitee WebHook密码 

 

 

 

 

 3.5配置node环境(14版本)

 

3.6配置 构建环境

3.7配置 build steps (打包) 

此时每次构建都会初始化项目 并且打包

 

此时我们构建会出现dist打包目录

4. 系统配置、

4.1点击system滑倒最下方(配置ssh)

 

点击高级配置密码(服务器密码) 

4.2构建后操作(代码推送服务器)

 

 

选择Send build artifacts over SSH 

配置Transfer Set表示将dist目录下的文件全部推送到服务器

4.3启动项目容器

这是一行代码

切记!!!映射文件看好自己文件的名称是否一样  这里的/home/www/project是4.1中配置remote directory中的匹配地址

docker run --name demo_docker -p 81:80 -v /home/www/project/dist:/usr/share/nginx/html -v /home/www/nginxConf/
nginx.conf:/etc/nginx/nginx.conf -v /home/www/nginxConf/conf.d:/etc/nginx/conf.d --restart=always -d nginx:latest

4.4线上查看

公网ip+端口号

如果项目为history路由模式 需要在文件/home/www/nginxConf/conf.d/default.conf下配置代码

location / {root .....index ....try_files $uri $uri/ /index.html
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/145754.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

一站式企业协同研发云——云效

一站式企业协同研发云——云效 文章目录 一站式企业协同研发云——云效什么是云效云效的作用云效使用说明公司领导操作步骤项目创建者或项目组长操作步骤项目上线部署 什么是云效 云效是一种基于云计算技术的软件研发与交付管理平台,旨在提高团队的协作效率和软件交…

Redis与分布式-集群搭建

接上文 Redis与分布式-哨兵模式 1. 集群搭建 搭建简单的redis集群,创建6个配置,开启集群模式,将之前配置过的redis删除,重新复制6份 针对主节点redis 1,redis 2,redis 3都是以上修改内容,只是…

求各区域热门商品Top3 - HiveSQL

背景:这是尚硅谷SparkSQL练习题,本文用HiveSQL进行了实现。 数据集:用户点击表,商品表,城市表 题目: ① 求每个地区点击量前三的商品; ② 在①的基础上,求出每个地区点击量前三的商品后&a…

【Linux】【网络】传输层协议:TCP

文章目录 TCP 协议1. TCP 协议段格式2. TCP 报头解析3. TCP 的可靠性4. 面向字节流5. 粘包问题6. 连接队列维护 TCP 的 确认应答机制TCP 的 超时重传机制TCP 的 三次握手TCP 的 四次挥手setsockopt 函数:设置套接字选项,解决 TIME_WAIT 状态引起的 bind …

【Python】基于OpenCV人脸追踪、手势识别控制的求实之路FPS游戏操作

【Python】基于OpenCV人脸追踪、手势识别控制的求实之路FPS游戏操作 文章目录 手势识别人脸追踪键盘控制整体代码附录:列表的赋值类型和py打包列表赋值BUG复现代码改进优化总结 py打包 视频: 基于OpenCV人脸追踪、手势识别控制的求实之路FPS游戏操作 手…

小谈设计模式(7)—装饰模式

小谈设计模式(7)—装饰模式 专栏介绍专栏地址专栏介绍 装饰模式装饰模式角色Component(抽象组件)ConcreteComponent(具体组件)Decorator(抽象装饰器)ConcreteDecorator(具…

玩转数据-大数据-Flink SQL 中的时间属性

一、说明 时间属性是大数据中的一个重要方面,像窗口(在 Table API 和 SQL )这种基于时间的操作,需要有时间信息。我们可以通过时间属性来更加灵活高效地处理数据,下面我们通过处理时间和事件时间来探讨一下Flink SQL …

解决前端二进制流下载的文件(例如:excel)打不开的问题

1. 现在后端请求数据后,返回了一个二进制的数据,我们要把它下载下来。 这是响应的数据: 2. 这是调用接口的地方: uploadOk(){if(this.files.length 0){return this.$Message.warning("请选择上传文件!&#xff…

小白vite+vue3搭建项目整个流程

第一步 查看npm 版本npm -v,npm版本是7,创建项目命令: npm create vitelatest threejsVue -- --template vue第二步 // 进入项目名为threejsVue的项目命令 cd threejsVue // 安装路由 npm install vue-router4 // 安装css npm install -D s…

十、空闲任务及其钩子函数

1、空闲任务的介绍 (1)一个良好的程序,它的任务都是事件驱动的:平时大部分时间处于阻塞状态。 (2)有可能我们自己创建的所有任务都无法执行,但是调度器必须能找到一个可以运行的任务。所以,我们要提供空闲任务。 (3)在使用vTas…

Python日期的加减等操作

嗨喽,大家好呀~这里是爱看美女的茜茜呐 日期输出格式化 所有日期、时间的api都在datetime模块内。 👇 👇 👇 更多精彩机密、教程,尽在下方,赶紧点击了解吧~ python源码、视频教程、插件安装教程、资料我都…

揭秘:机构招生电子传单制作的五个黄金法则

机构招生微传单制作一直都是让很多人在意的事情。一款好的微传单不仅可以吸引更多的学生,还可以省去很多招生工作的时间和精力。但是,很多人却不知道如何制作一款精美的微传单。下面就让我们来学习一下如何制作一款机构招生的微传单吧。 首先&#xff0c…

亲和力的作用,以及提高亲和力的六个办法

亲和力指的是容易使人亲近,当人身处集体中,亲和力也即是影响力和凝聚力的体现。通常是在职场中会明确对亲和力的考评,尤其是某些管理型岗位,所以HR人力资源管理中对亲和力有详细的评级标准。不过这里小猫测试网不详细讨论亲和力的…

敏感性分析一览

敏感性分析 SobolMorrisFourier Amplitude Sensitivity Test (FAST)Random Balance Designs - Fourier Amplitude Sensitivity Test (RBD-FAST)Delta Moment-Independent MeasureDerivative-based Global Sensitivity Measure (DGSM)Fractional Factorial Sensitivity Analysis…

服务器数据恢复-zfs下raidz多块磁盘离线导致服务器崩溃的数据恢复案例

服务器数据恢复环境: 一台服务器共配备32块硬盘,组建了4组RAIDZ,Windows操作系统zfs文件系统。 服务器故障: 服务器在运行过程中突然崩溃,经过初步检测检测没有发现服务器存在物理故障,重启服务器后故障依…

YOLOv7改进:结合CotNet Transformer结构

1.简介 京东AI研究院提出的一种新的注意力结构。将CoT Block代替了ResNet结构中的3x3卷积,在分类检测分割等任务效果都出类拔萃 论文:Contextual Transformer Networks for Visual Recognition 论文地址:https://arxiv.org/abs/2107.12292 有…

技术Leader对下管理的法宝-SMART

SMART方法论 源于国外管理大师的《管理的实践》是管理者能够更加明确员工高效工作的利器,科学、规范的对员工绩效制定考核目标和考核标准5个单词缩写 Specific:目标要具体Measurable:目标成果要可衡量(量化) Attainable:目标要可实现,避免过高/过低Rel…

模块化CSS

1、什么是模块化CSS 模块化CSS是一种将CSS样式表的规则和样式定义封装到模块或组件级别的方法,以便于更好地管理、维护和组织样式代码。这种方法通过将样式与特定的HTML元素或组件相关联,提供了一种更具可维护性、可复用性和隔离性的方式来处理样式。简单…

SpringBoot读取配置的方式

在 Spring Boot 应用中,我们通常需要一些配置信息来指导应用的运行。这些配置信息可以包括如下内容:端口号、数据库连接信息、日志配置、缓存配置、认证配置、等等。Spring Boot 提供了多种方式来读取这些配置信息。读取配置的目的是为了在程序中使用这些…

前端JavaScript入门到精通,javascript核心进阶ES6语法、API、js高级等基础知识和实战 —— Web APIs(三)

思维导图 全选案例 大按钮控制小按钮 小按钮控制大按钮 css伪类选择器checked <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta http-equiv"X-UA-Compatible" content"IEedge"><…