- 情况准备
- 配置虚拟机
- 安装docker
- 安装docker-compose
- 安装gitea
- 步骤
- 命令
- 效果图
- 实行docker-compose命令
- 浏览器初始gitea配置
- 浏览器登录gitea
- 创建构造
- 创建堆栈
- Drone安装
- 非主动化部署
- 主动化部署
情况准备
配置虚拟机
安装docker
条件
- 确保系统内核版本在3.10以上
- 确保系统已经安装了docker
离线安装
准备安装包 docker-18.06.1-ce.tgz
下载所在https://download.docker.com/linux/static/stable/x86_64/
“本项目必要安装 docker,建议利用 docker-18.06.1-ce.tgz 版本,你可以从 docker 官方网站获取安装包。”
- tar -zxvf docker-18.06.1-ce.tgz 解压安装包
- cp docker/* /usr/bin/ 将解压出来的docker文件复制到 /usr/bin/ 目录下
- vi /etc/systemd/system/docker.service 新增docker.service文件,复制进docker配置文件,这样可以将docker注册为service服务
docker配置文件如下:
- [Unit]
- Description=Docker Application Container Engine
- Documentation=https://docs.docker.com
- After=network-online.target firewalld.service
- Wants=network-online.target
-
- [Service]
- Type=notify
- # the default is not to use systemd for cgroups because the delegate issues still
- # exists and systemd currently does not support the cgroup feature set required
- # for containers run by docker
- ExecStart=/usr/bin/dockerd
- ExecReload=/bin/kill -s HUP $MAINPID
- # Having non-zero Limit*s causes performance problems due to accounting overhead
- # in the kernel. We recommend using cgroups to do container-local accounting.
- LimitNOFILE=infinity
- LimitNPROC=infinity
- LimitCORE=infinity
- # Uncomment TasksMax if your systemd version supports it.
- # Only systemd 226 and above support this version.
- #TasksMax=infinity
- TimeoutStartSec=0
- # set delegate yes so that systemd does not reset the cgroups of docker containers
- Delegate=yes
- # kill only the docker process, not all processes in the cgroup
- KillMode=process
- # restart the docker process if it exits prematurely
- Restart=on-failure
- StartLimitBurst=3
- StartLimitInterval=60s
-
- [Install]
- WantedBy=multi-user.target
复制代码
- chmod +x /etc/systemd/system/docker.service 给docker.service文件添加实行权限
- systemctl daemon-reload 重新加载配置文件(每次有修改docker.service文件时都要重新加载下)
- systemctl start docker 启动docker
- docker -v 查看docker版本
- systemctl status docker 查看docker状态
表现如上图则表现docker启动成功
daemon.json配置文件
- - sudo mkdir -p /etc/docker
- - vim daemon.json
复制代码 daemon.json的配置文件内容如下:
{
“registry-mirrors”: [
“https://docker.1ms.run”,
“https://do.nark.eu.org”,
“https://hub.geekery.cn”,
“https://docker.linkedbus.com”,
“https://docker.cloudlayer.icu”,
“https://a.ussh.net”,
“https://docker.5z5f.com”
]
}
这里特殊提醒一下 :该配置文件为镜像加速文件,如已经无法利用可去网站查找其他的镜像加速网址,例如阿里云镜像加速网址等等
- - systemctl daemon-reload
- - systemctl restart docker
复制代码 安装docker-compose
条件
留意版本号
安装
上传docker-compose到 /usr/local/bin目录下面
(可以从docker-compose官网下载,也可以从github上下载)
下载所在:https://github.com/docker/compose/releases
步骤
- cd /usr/local/bin
- chmod +x /usr/local/bin/docker-compose
- docker-compose -v
效果图
安装gitea
步骤
- 上传docker-compose-gitea.yml到/usr/local/bin目录
- # docker-compose-gitea.yml内容示例如下
- version: "3"
- networks:
- gitea:
- external: false
- services:
- server:
- image: gitea/gitea:1.19
- container_name: gitea
- environment:
- - USER_UID=1000
- - USER_GID=1000
- restart: always
- networks:
- - gitea
- volumes:
- - /home/local/gitea/data:/data
- - /home/local/gitea/timezone:/etc/timezone:ro
- - /home/local/gitea/localtime:/etc/localtime:ro
- ports:
- - "8081:3000"
- - "8082:22"
复制代码
- 实行docker-compose命令
- 打开浏览器输入:ip:8081端口(8081是yml配置文件里面指定好的)
- 初始gitea配置
- 创建构造
- 创建堆栈
- 上传代码
- 拉取代码
- 提交分支
- 查看更新状态
命令
- cd /usr/local/bin
- docker-compose -f docker-compose-gitea.yml up -d
复制代码 效果图
实行docker-compose命令
接下来打开浏览器输入linux本机的ip所在加上8081端口,就可以看到gitea的页面了,然后按照提示进行配置即可。
浏览器登录gitea
例如本机ip所在为http://192.168.xxx.xxx:8081/(xxx为自界说ip所在,本例子隐蔽以是用xxx)
浏览器初始gitea配置
如下为样本示例
登录之后,创建构造,创建堆栈,上传代码,拉取代码,提交分支,查看更新状态等操作。
创建构造
创建堆栈
Drone 安装
步骤
上述新令牌先生存好,只会出现一次,下次就看不到了。然后再进行创建应用。
进入这个页面之后先保持不动,切换到linux操作命令行,实行如下命令:
- cd /usr/local/bin
- docker-compose -f docker-compose-gitea.yml up -d
复制代码 然后回到浏览器页面,点击创建应用,然后复制应用所在,回到linux命令行
实行如下命令:
将docker-compose-drone.yml从网站上下载出来,移动到/usr/local/bin目录下如图
然后实行如下命令:
- vim docker-compose-drone.yml
复制代码- # docker-compose-drone.yml文件示例内容如下
- version: '3'
- services:
- drone-server:
- restart: always
- image: drone/drone:2.13.0
- container_name: drone-server
- ports:
- - "8083:80"
- volumes:
- - /home/local/drone/server/drone:/var/lib/drone/
- - /home/local/drone/server/data:/data/
- environment:
- - DRONE_GITEA_SERVER=http://192.168.126.130:8084
- - DRONE_GITEA_CLIENT_ID=3b972c45-59ab-4e9b-800e-8c436cd37b59
- - DRONE_GITEA_CLIENT_SECRET=gto_m3omsxcricdv5pngfmvsddks5zczs37l5tyw25zlbpesebca4q5q
- - DRONE_SERVER_HOST=192.168.126.130:8083
- - DRONE_SERVER_PROTO=http
- - DRONE_RPC_SECRET=eebf4781aa0d19a63aaac1ad9706e1ecbf3d8f6e
- - DRONE_GIT_ALWAYS_AUTH=true
- - DRONE_GIT_USERNAME=adminwl
- - DRONE_GIT_PASSWORD=links@123
- - DRONE_USER_CREATE=username:root,admin:true
-
- drone-runner:
- restart: always
- container_name: drone-runner
- image: drone/drone-runner-docker:1.2
- volumes:
- - /var/run/docker.sock:/var/run/docker.sock:rw
- environment:
- - DRONE_RPC_PROTO=http
- - DRONE_RPC_HOST=drone-server
- - DRONE_RPC_SECRET=eebf4781aa0d19a63aaac1ad9706e1ecbf3d8f6e
- - DRONE_RUNNER_NAME=drone-runner
- - DRONE_RUNNER_CAPACITY=2
复制代码 docker-compose-drone.yml文件内容操作如下图:

- docker-compose -f docker-compose-drone.yml up -d
复制代码
这个地方特殊提醒一下:
在我修改了一次docker-compose-drone.yml文件之后,实行docker-compose -f docker-compose-drone.yml up -d
命令时,出现如下报错:
下面附上办理方法
- sysctl net.ipv4.ip_forward
- sudo sysctl net.ipv4.ip_forward=1
- vim /etc/sysctl.conf
复制代码 sysctl.conf中参加net.ipv4.ip_forward=1,这个为上述vim里面的操作
- sudo sysctl -p
- systemctl restart docker
复制代码
进行防火墙开放8081 与 8083 端口操作如图
- firewall-cmd --zone=public --add-port=8081/tcp --permanent
- firewall-cmd --zone=public --add-port=8083/tcp --permanent
- firewall-cmd --reload
复制代码
访问drone的页面:http://ip:8083
效果图
例如本机ip所在为http://192.168.xxx.xxx:8083/(xxx为自界说ip所在,本例子隐蔽以是用xxx)
如图填写注册信息
进去之后效果图如图
实现多用户共享文件如图:
非主动化部署
nginx安装
- yum -y install gcc
- yum install -y gcc-c++
- yum install -y pcre pcre-devel
- yum install -y zlib zlib-devel
- yum install -y openssl openssl-devel
复制代码 下载nginx安装包
- wget http://nginx.org/download/nginx-1.21.2.tar.gz
复制代码- mkdir nginx #创建nginx解压之后的文件
- cp nginx-1.21.2.tar.gz nginx #将压缩包移入nginx文件
- tar -xzvf nginx-1.21.2.tar.gz nginx #解压压缩包
- cd nginx-1.21.2
复制代码 输入一下命令进行编译
- ./configure \
- --prefix=/usr/local/nginx \
- --pid-path=/var/run/nginx.pid \
- --lock-path=/var/lock/nginx.lock \
- --error-log-path=/var/log/nginx/error.log \
- --http-log-path=/var/log/nginx/access.log \
- --with-http_gzip_static_module \
- --http-client-body-temp-path=/var/temp/nginx/client \
- --http-proxy-temp-path=/var/temp/nginx/proxy \
- --http-fastcgi-temp-path=/var/temp/nginx/fastcgi \
- --http-uwsgi-temp-path=/var/temp/nginx/uwsgi \
- --http-scgi-temp-path=/var/temp/nginx/scgi
复制代码- make || make install
- cd /usr/local/nginx/sbin
复制代码
然后运行它
redis安装
- 下载redis的安装包
下载所在:Index of /releases/
可自行选择版本,本例选择图中红框中的版本,下载到/usr/local/software目录下
- tar -zxvf redis-7.2.3.tar.gz #解压redis
- mv redis-7.2.3 /usr/local/ #移动到/usr/local目录下
复制代码
cd /usr/local/redis-7.2.3 #进入到redis-7.2.3的目录
make install #编译安装
ls #查看redis-server是否安装成功
解释掉bind 127.0.0.1
添加如下代码
找到daemonize 将no后面改为yes
将protected-mode 设置成no
- systemctl start redis #启动redis
- systemctl enable redis #设置开机自启
- systemctl status redis #查看redis状态
复制代码
- firewall-cmd --zone=public --add-port=6379/tcp --permanent #开放6379端口
- firewall-cmd --reload #重新加载防火墙
复制代码
- which redis-server #查看redis-server的安装路径
- ./redis-server #启动redis
复制代码
jdk安装
- 从官网上下载jdk
下载所在http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
- 将安装包移动到/usr/local/software目录下
- 解压安装包
- tar -zxvf jdk-8u161-linux-x64.tar.gz
- mv jdk-8u161-linux-x64.tar.gz jdk #重命名
复制代码 效果图如下:
在文件末尾添加如下内容:
- export JAVA_HOME=/usr/local/software/jdk
- export PATH=$JAVA_HOME/bin:$PATH
- export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HEMO/lib/tools.jar
复制代码
得到如上图则表现jdk安装成功
主动化部署
tomcat
- docker pull tomcat #拉取tomcat镜像
- cd root
- mkdir tomcat || cd tomcat
- docker run -id --name=c_tomcat -p 8090:8080 -v $PWD:/usr/local/tomcat/webapps tomcat
- #$PWD表示宿主机的当前目录在这里表示/root/tomcat
- docker start tomcat
- mkdir test
复制代码 把xyj.zip上传到/root/tomcat/test下面,并解压缩
用浏览器访问ip:8090/test/xyj.html
nginx
- docker pull nginx
- docker run -d --name nginx01 -p 3344:80 nginx
- curl localhost:3344
复制代码
打开浏览器访问页面 ip:3344
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |