网站首页 > 技术教程 正文
安装 docker
# 下载自动安装脚本
curl -fsSL get.docker.com -o get-docker.sh
# 执行脚本,并指定为阿里的镜像
sh get-docker.sh --mirror Aliyun
# 启动docker
systemctl start docker
# 设置仓库镜像地址,可以加速下载镜像
vi /etc/docker/daemon.json
# 写入内容
{
"registry-mirrors": [
"https://3laho3y3.mirror.aliyuncs.com"
]
}
# 重启docker
systemctl daemon-reload
systemctl restart docker
# 设置开机启动
systemctl enable docker
centos8 系统安装的时候可能会报错:
Error:
Problem: package docker-ce-3:19.03.13-3.el7.x86_64 requires containerd.io >= 1.2.2-3, but none of the providers can be installed
- cannot install the best candidate for the job
- package containerd.io-1.2.10-3.2.el7.x86_64 is filtered out by modular filtering
- package containerd.io-1.2.13-3.1.el7.x86_64 is filtered out by modular filtering
- package containerd.io-1.2.13-3.2.el7.x86_64 is filtered out by modular filtering
- package containerd.io-1.2.2-3.3.el7.x86_64 is filtered out by modular filtering
- package containerd.io-1.2.2-3.el7.x86_64 is filtered out by modular filtering
- package containerd.io-1.2.4-3.1.el7.x86_64 is filtered out by modular filtering
- package containerd.io-1.2.5-3.1.el7.x86_64 is filtered out by modular filtering
- package containerd.io-1.2.6-3.3.el7.x86_64 is filtered out by modular filtering
- package containerd.io-1.3.7-3.1.el7.x86_64 is filtered out by modular filtering
centos8默认使用podman代替docker,所以需要containerd.io,那我们就安装一下就好了。
yum install -y https://mirrors.aliyun.com/docker-ce/linux/centos/7/x86_64/edge/Packages/containerd.io-1.3.7-3.1.el7.x86_64.rpm
安装 docker-composer
# 下载
curl -L https://github.com/docker/compose/releases/download/1.27.3/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
# 添加执行权限
chmod +x /usr/local/bin/docker-compose
安装 htop、nginx、unzip、git
yum install -y htop nginx unzip git
安装portainer,用于在线客户化管理docker
# 创建数据卷
docker volume create portainer_data
# 启动portainer容器
docker run -d -p 9999:9000 -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data --name=portainer --restart=always portainer/portainer-ce
# 新建 /etc/nginx/conf.d/portainer.conf,写入
server {
listen 80;
server_name testportainer.xxx.com;
location / {
proxy_pass http://127.0.0.1:9999;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header HTTP_X_FORWARDED_FOR $remote_addr;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_redirect default;
}
location /api/websocket/ {
proxy_pass http://127.0.0.1:9999/api/websocket/;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_http_version 1.1;
}
}
打开浏览器,进入127.0.0.1:9999 或者 testportainer.xxx.com 就可以进入portainer的管理界面了
使用docker运行redis
# 新建 /root/docker/redis/docker-compose.yml
version: "3"
services:
redis:
image: redis:5
container_name: my_redis
command: redis-server /usr/local/etc/redis/redis.conf
restart: always
ports:
- "6379:6379"
volumes:
- ./data:/data:cached
- ./redis.conf:/usr/local/etc/redis/redis.conf:cached
logging:
driver: "json-file"
options:
max-size: "500m"
# 运行
docker-compose up -d --build
使用docker运行mysql
# 新建 /root/docker/mysql/docker-compose.yml
version: "3"
services:
mysql:
image: mysql:8
container_name: mysql
command: mysqld --default-authentication-plugin=mysql_native_password
restart: always
ports:
- "3306:3306"
environment:
- MYSQL_ROOT_PASSWORD=mysql888
volumes:
- ./data:/var/lib/mysql:cached
- ./conf:/etc/mysql/conf.d:cached
security_opt:
- seccomp:unconfined
logging:
driver: "json-file"
options:
max-size: "500m"
# 运行
docker-compose up -d --build
# 设置允许远程访问
use mysql;
update user set host='%' where user ='root';
FLUSH PRIVILEGES;
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;
生成ssh密钥,免密拉取代码
# 生成密钥
ssh-keygen -t rsa -C "source@xx.com"
# 将id_rsa.pub内容添加到代码服务器
cd ~/.ssh/
cat id_rsa.pub
使用docker安装Jenkins
# 新建 /root/docker/jenkins/docker-compose.yml
version: "3"
services:
jenkins:
image: jenkinsci/blueocean
container_name: jenkins
restart: always
ports:
- "49999:8080"
- "50000:50000"
environment:
JAVA_OPTS: "-Duser.timezone=Asia/Shanghai"
volumes:
- ./data:/var/jenkins_home:cached
logging:
driver: "json-file"
options:
max-size: "500m"
# 运行
docker-compose up -d --build
# 解决权限错误问题
chown -R 1000:1000 data
权限问题解决之后,Jenkins会自动运行,并打印出一串随机密码
密码
打开浏览器进入127.0.0.1:49999, 输入日志中的密码完成账号初始化
初始化账号
选择要安装的插件
选择要安装的插件
安装插件
进入插件管理
安装publish over ssh插件
安装publish over ssh插件
配置publish over ssh插件
配置publish over ssh插件
拉到最下面,新增服务器
新增服务器
配置 gogs webhook
- 过滤分支,只处理dev分支,
- 设置参数构建,区分测试和正式,这个参数后面的publish over ssh 插件要用
设置构建后操作
点击高级按钮,设置把branch参数传入
同样在ssh server选项中也点击高级,并设置label为test,表示如果构建的时候选择test,则会进入当前这个server,这样就可以针对不同的构建参数选择不同的主机进行相关操作。需要注意Exec command 的命令是到远程服务器上执行的,而不是Jenkins所在的机器。
配置完毕,开始构建测试吧
可以看到默认是构建test,这个参数就是我们刚刚配置的。
设置钩子,提交代码之后触发自动更新
image.png
文章来源:https://www.jianshu.com/p/e575c25fe15e
猜你喜欢
- 2024-10-14 吐血整理,全网最全Git命令手册(git命令大全)
- 2024-10-14 GitHub下载榜飙升至第一的阿里P8手写5000页Java全栈学习手册
- 2024-10-03 Nginx 整合 FastDFS 实现文件服务器
- 2024-10-03 nginx视频直播/点播服务干货分享(nginx视频服务器)
- 2024-10-03 VeryNginx--一个友好的 Nginx 扩展程序.
- 2024-10-03 准备好给你的nginx服务器加个防火墙吗 ?
- 2024-10-03 部署Django到云服务器(Centos+Nginx+Mysql+Uwsgi+Python3)「操作篇(1)」
- 2024-10-03 Docker实战:基于centos7镜像创建nginx容器镜像
- 2024-10-03 Nginx合并Js/Css(nginx和tomcat整合)
- 2024-10-03 NGINX sub_filter 和 subs_filter 指令讲解
你 发表评论:
欢迎- 最近发表
-
- 阿里P8大佬总结的Nacos入门笔记,从安装到进阶小白也能轻松学会
- Linux环境下,Jmeter压力测试的搭建及报错解决方法
- Java 在Word中合并单元格时删除重复值
- 解压缩软件哪个好用?4款大多数人常用的软件~
- Hadoop高可用集群搭建及API调用(hadoop3高可用)
- lombok注解@Data没有toString和getter、setter问题
- Apache Felix介绍(apache fineract)
- Spring Boot官方推荐的Docker镜像编译方式-分层jar包
- Gradle 使用手册(gradle详细教程)
- 字节二面:为什么SpringBoot的 jar可以直接运行?
- 标签列表
-
- 下划线是什么 (87)
- 精美网站 (58)
- qq登录界面 (90)
- nginx 命令 (82)
- nginx .http (73)
- nginx lua (70)
- nginx 重定向 (68)
- Nginx超时 (65)
- nginx 监控 (57)
- odbc (59)
- rar密码破解工具 (62)
- annotation (71)
- 红黑树 (57)
- 智力题 (62)
- php空间申请 (61)
- 按键精灵 注册码 (69)
- 软件测试报告 (59)
- ntcreatefile (64)
- 闪动文字 (56)
- guid (66)
- abap (63)
- mpeg 2 (65)
- column (63)
- dreamweaver教程 (57)
- excel行列转换 (56)
本文暂时没有评论,来添加一个吧(●'◡'●)