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远程登陆

bash 复制代码
ssh root@101.42.154.167//公网ip

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

1.2拉取nginx镜像源

bash 复制代码
docker pull nginx

1.3创建需要映射的文件

bash 复制代码
mkdir -p /home/www/nginxConf/demo
mkdir -p /home/www/demo

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

1.4运行容器

--name后是容器名称

-p 81:80端口进行映射将本地81端口映射到容器内部的80端口

-d nginx为设置容器在后台一直运行

bash 复制代码
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/目录中。

bash 复制代码
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文件同步映射到堡塔文件

bash 复制代码
docker rm -f demo

2.jenkins安装登录

2.1拉去jenkins镜像源

bash 复制代码
docker search jenkins//查看需要的jenkins镜像源
bash 复制代码
docker pull jenkins/jenkins 拉取jenkins镜像

2.2运行jenkins容器

-u root root用户权限去启动系统

-p 9095:8080端口映射

--name my_jenkins 容器名称

bash 复制代码
docker run -id -u root --name my_jenkins -p 9095:8080  -p 50000:50000 jenkins/jenkins

2.3登录jenkins页面

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

bash 复制代码
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中的匹配地址

bash 复制代码
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下配置代码

javascript 复制代码
location / {
    root .....
    index ....
    try_files $uri $uri/ /index.html
}
相关推荐
qq_452396231 小时前
第十五篇:《UI自动化中的稳定性优化:解决flaky tests的七种武器》
运维·ui·自动化
云飞云共享云桌面3 小时前
东莞智能装备工厂数字化实践—研发部门10名SolidWorks设计共享一台云主机流畅设计
服务器·自动化·汽车·负载均衡·制造
皮皮冰燃4 小时前
docker-18-WSL中安装docker并部署flask服务
docker·容器·flask
少年白char4 小时前
整理上万首音乐后的完整工作流:下载、刮削、播放与避坑指南
docker·nas·musictag·音乐刮削·音乐标签
福大大架构师每日一题5 小时前
openclaw v2026.4.24 发布:Google Meet 深度集成、DeepSeek V4 上线、浏览器自动化与插件架构全面升级
运维·架构·自动化·openclaw
实在智能RPA5 小时前
金融行业财务审核自动化工具推荐:2026企业级AI Agent与智能合规选型指南
人工智能·ai·金融·自动化
Agent产品评测局5 小时前
生产排期与MES/ERP系统打通,实操方法详解 —— 2026企业级智能体自动化选型与实战指南
java·运维·人工智能·ai·chatgpt·自动化
chaofan9808 小时前
GPT-5.5 领衔 Image 2.0:像素级控制时代,AI 绘图告别开盲盒
开发语言·人工智能·python·gpt·自动化·api
星恒讯工业路由器8 小时前
配网自动化多网融合应用解决方案
运维·自动化
智慧物业老杨8 小时前
智慧物业收费系统的数智化落地实践:从人工硬扛到自动化闭环
运维·自动化