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 [email protected]//公网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 自动化部署(实践)_第1张图片

 

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

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

2.4选择安装推荐的插件

Docker 自动化部署(实践)_第2张图片

2.5创建管理员用户

Docker 自动化部署(实践)_第3张图片

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

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

3.自动化配置

3.1下载需要的插件

Nodejs Git Gitee Publish Over SSH依次下载

Docker 自动化部署(实践)_第4张图片

Docker 自动化部署(实践)_第5张图片 

Docker 自动化部署(实践)_第6张图片 搜索下载插件

3.2创建任务

Docker 自动化部署(实践)_第7张图片 

 Docker 自动化部署(实践)_第8张图片

Docker 自动化部署(实践)_第9张图片 

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

 Docker 自动化部署(实践)_第10张图片

填写url地址

 Docker 自动化部署(实践)_第11张图片

需要添加证书(Credentials) 

Docker 自动化部署(实践)_第12张图片

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

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

Docker 自动化部署(实践)_第13张图片

此时就不会报红色错误 

点击立即构建

Docker 自动化部署(实践)_第14张图片

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

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

Docker 自动化部署(实践)_第15张图片

点击生成webHook密码 

 Docker 自动化部署(实践)_第16张图片

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

 Docker 自动化部署(实践)_第17张图片

Docker 自动化部署(实践)_第18张图片 

Docker 自动化部署(实践)_第19张图片 

Docker 自动化部署(实践)_第20张图片 

 3.5配置node环境(14版本)

Docker 自动化部署(实践)_第21张图片

 Docker 自动化部署(实践)_第22张图片

3.6配置 构建环境

Docker 自动化部署(实践)_第23张图片

3.7配置 build steps (打包) 

Docker 自动化部署(实践)_第24张图片

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

Docker 自动化部署(实践)_第25张图片 

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

4. 系统配置、

4.1点击system滑倒最下方(配置ssh)Docker 自动化部署(实践)_第26张图片

Docker 自动化部署(实践)_第27张图片 Docker 自动化部署(实践)_第28张图片

点击高级配置密码(服务器密码) Docker 自动化部署(实践)_第29张图片

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

 Docker 自动化部署(实践)_第30张图片

Docker 自动化部署(实践)_第31张图片 

选择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
}

你可能感兴趣的:(docker,docker,自动化)