1.1 下载 Docker-Compose
#去github官网搜索docker-compose,下载1.24.1版本的Docker-Compose
下载路径:https://github.com/docker/compose/releases/download/1.24.1/docker-compose-Linux-x86\_641.2 设置权限
#需要将DockerCompose文件的名称修改一下,给予DockerCompose文件一个可执行的权限
mv docker-compose-Linux-x86\_64 docker-compose
chmod 777 docker-compose1.3 配置环境变量
#方便后期操作,配置一个环境变量
#将docker-compose文件移动到了/usr/local/bin,修改了/etc/profile文件,给/usr/local/bin配置到了PATH中
mv docker-compose /usr/local/bin
vi /etc/profile
#添加内容:export PATH=$JAVA\_HOME:/usr/local/bin:$PATH
source /etc/profile1.4 测试
在任意目录下输入docker-compose
version:'' #版本
services:服务
服务1:web
#服务配置
images
build
network
#其他配置 网络/卷 、 全局规则
2.Docker-Compose 管理 MySQL 和 Tomcat 容器
yml文件以key:value方式来指定配置信息
多个配置信息以换行+缩进的方式来区分
在docker-compose.yml文件中,不要使用制表符
version: '3.1'
services:
mysql: # 服务的名称
restart: always # 代表只要docker启动,那么这个容器就跟着一起启动
image: daocloud.io/library/mysql:5.7.4 # 指定镜像路径
container\_name: mysql # 指定容器名称
ports:
- 3306:3306 # 指定端口号的映射
environment:
MYSQL\_ROOT\_PASSWORD: root # 指定MySQL的ROOT用户登录密码
TZ: Asia/Shanghai # 指定时区
volumes:
- /opt/docker\_mysql\_tomcat/mysql\_data:/var/lib/mysql # 映射数据卷
tomcat:
restart: always
image: daocloud.io/library/tomcat:8.5.15-jre8
container\_name: tomcat
ports:
- 8080:8080
environment:
TZ: Asia/Shanghai
volumes:
- /opt/docker\_mysql\_tomcat/tomcat\_webapps:/usr/local/tomcat/webapps
- /opt/docker\_mysql\_tomcat/tomcat\_logs:/usr/local/tomcat/logs3. 使用 docker-compose 命令管理容器
在使用docker-compose的命令时,默认会在当前目录下找docker-compose.yml文件
#1.基于docker-compose.yml启动管理的容器
docker-compose up -d
#2.关闭并删除容器
docker-compose down
#3.开启|关闭|重启已经存在的由docker-compose维护的容器
docker-compose start|stop|restart
#4.查看由docker-compose管理的容器
docker-compose ps
#5.查看日志
docker-compose logs -f4.docker-compose 配合 Dockerfile 使用
使用 docker-compose.yml 文件以及 Dockerfile 文件在生成自定义镜像的同时启动当前镜像,并且由 docker-compose 去管理容器
4.1docker-compose 文件
编写docker-compose文件
# yml文件
version: '3.1'
services:
ssm:
restart: always
build: # 构建自定义镜像
context: ../ # 指定dockerfile文件的所在路径
dockerfile: Dockerfile # 指定Dockerfile文件名称
image: ssm:1.0.1
container\_name: ssm
ports:
- 8081:8080
environment:
TZ: Asia/Shanghai4.2 Dockerfile 文件
编写Dockerfile文件
from daocloud.io/library/tomcat:8.5.15-jre8
copy ssm.war /usr/local/tomcat/webapps4.3 运行
#可以直接基于docker-compose.yml以及Dockerfile文件构建的自定义镜像
docker-compose up -d
# 如果自定义镜像不存在,会帮助我们构建出自定义镜像,如果自定义镜像已经存在,会直接运行这个自定义镜像
#重新构建自定义镜像
docker-compose build
#运行当前内容,并重新构建
docker-compose up -d --build九、CI、CD 介绍及准备
1.CI、CD 引言
项目部署
1. 将项目通过 maven 进行编译打包
2. 将文件上传到指定的服务器中
3. 将 war 包放到 tomcat 的目录中
4. 通过 Dockerfile 将 Tomcat 和 war 包转成一个镜像,由 DockerCompose 去运行容器
项目更新后,需要将上述流程再次的从头到尾的执行一次,如果每次更新一次都执行一次上述操作,很费时,费力。我们就可以通过 CI、CD 帮助我们实现持续集成,持续交付和部署
2.CI 介绍
CI(continuous intergration)持续集成
持续集成:编写代码时,完成了一个功能后,立即提交代码到 Git 仓库中,将项目重新的构建并且测试。
1. 快速发现错误。
2. 防止代码偏离主分支。
3. 搭建 Gitlab 服务器
3.1. 准备环境
实现 CI,需要使用到 Gitlab 远程仓库,先通过 Docker 搭建 Gitlab
创建一个全新的虚拟机,并且至少指定 4G 的运行内存,4G 运行内存是 Gitlab 推荐的内存大小。
并且安装 Docker 以及 Docker-Compose
3.2 修改 ssh 的 22 端口
#将ssh的默认22端口,修改为60022端口,因为Gitlab需要占用22端口
vi /etc/ssh/sshd\_config
PORT 22 -> 60022
systemctl restart sshd3.3 编写 docker-compose.yml
docker-compose.yml文件去安装gitlab(下载和运行的时间比较长的)
version: '3.1'
services:
gitlab:
image: 'twang2218/gitlab-ce-zh:11.1.4'
container\_name: "gitlab"
restart: always
privileged: true
hostname: 'gitlab'
environment:
TZ: 'Asia/Shanghai'
GITLAB\_OMNIBUS\_CONFIG: |
external\_url 'http://192.168.199.110'
gitlab\_rails\['time\_zone'\] = 'Asia/Shanghai'
gitlab\_rails\['smtp\_enable'\] = true
gitlab\_rails\['gitlab\_shell\_ssh\_port'\] = 22
ports:
- '80:80'
- '443:443'
- '22:22'
volumes:
- /opt/docker\_gitlab/config:/etc/gitlab
- /opt/docker\_gitlab/data:/var/opt/gitlab
- /opt/docker\_gitlab/logs:/var/log/gitlab十、搭建 GitlabRunner
1. 准备文件
daemon.json
{
“registry-mirrors”: \[“https://registry.docker-cn.com”\],
“insecure-registries”: \[ip:ports\]
}
文件夹 environment里面准备maven安装包,jdk1.8安装包,Dockerfile,daemon.json以及docker-compose2. 开始搭建
创建工作目录 /usr/local/docker\_gitlab-runner
将 docker-compose.yml 文件以及 environment 目录全部复制到上述目录中
在宿主机启动 docker 程序后先执行 sudo chown root:root /var/run/docker.sock (如果重启过 docker, 重新执行)
在 / usr/local/docker\_gitlab-runner 目录中执行 docker-compose up -d –build 启动容器
添加容器权限,保证容器可以使用宿主机的 dockerdocker exec -it gitlab-runner usermod -aG root gitlab-runner
注册 Runner 信息到 gitlab
3. 进入后续步骤
docker exec -it gitlab-runner gitlab-runner register
# 输入 GitLab 地址
Please enter the gitlab-ci coordinator URL (e.g. https://gitlab.com/):
http://192.168.199.109/
# 输入 GitLab Token
Please enter the gitlab-ci token for this runner:
1Lxq\_f1NRfCfeNbE5WRh
# 输入 Runner 的说明
Please enter the gitlab-ci description for this runner:
可以为空
# 设置 Tag,可以用于指定在构建规定的 tag 时触发 ci
Please enter the gitlab-ci tags for this runner (comma separated):
deploy
# 这里选择 true ,可以用于代码上传后直接执行(根据版本,也会没有次选项)
Whether to run untagged builds \[true/false\]:
true
# 这里选择 false,可以直接回车,默认为 false(根据版本,也会没有次选项)
Whether to lock Runner to current project \[true/false\]:
false
# 选择 runner 执行器,这里我们选择的是 shell
Please enter the executor: virtualbox, docker+machine, parallels, shell, ssh, docker-ssh+machine, kubernetes, docker, docker-ssh:
shell十一、整合项目入门测试
1. 创建项目
创建 maven 工程,添加 web.xml 文件,编写 HTML 页面
2. 编写. gitlab-ci.yml 文件
stages:
- test
test:
stage: test
script:
- echo first test ci # 输入的命令3. 将 maven 工程推送到 gitlab 中
执行git命令推送到Gitlab
git push origin master4. 查看效果
可以在 gitlab 中查看到 gitlab-ci.yml 编写的内容
十二、完善项目配置
添加 Dockerfile 以及 docker-compose.yml, 并修改. gitlab-ci.yml 文件
1. 创建 Dockerfile
\# Dockerfile
FROM daocloud.io/library/tomcat:8.5.15-jre8
COPY testci.war /usr/local/tomcat/webapps2. 创建 docker-compose.yml
\# docker-compose.yml
version: "3.1"
services:
testci:
build: docker
restart: always
container\_name: testci
ports:
- 8080:80803. 修改. gitlab-ci.yml
\# ci.yml
stages:
- test
test:
stage: test
script:
- echo first test ci
- /usr/local/maven/apache-maven-3.6.3/bin/mvn package
- cp target/testci-1.0-SNAPSHOT.war docker/testci.war
- docker-compose down
- docker-compose up -d --build
- docker rmi $(docker images -qf dangling=true)剩下的是 Jenkins+Gitlib 实现自动化部署上线,我的博客有单独的文章介绍自动化部署,感兴趣的小伙伴可以学习学习。
Gitlib 文章:https://www.lixian.fun/category/devops/gitlib
Jenkins 文章:https://www.lixian.fun/category/devops/jenkins

做了几十年的项目 我总结了最好的一个盘(纯干货)
2025年10月新盘 做第一批吃螃蟹的人coinsrore.com
新车新盘 嘎嘎稳 嘎嘎靠谱coinsrore.com
新车首发,新的一年,只带想赚米的人coinsrore.com
新盘 上车集合 留下 我要发发 立马进裙coinsrore.com
做了几十年的项目 我总结了最好的一个盘(纯干货)coinsrore.com
新车上路,只带前10个人coinsrore.com
新盘首开 新盘首开 征召客户!!!coinsrore.com
新项目准备上线,寻找志同道合 的合作伙伴coinsrore.com
新车即将上线 真正的项目,期待你的参与coinsrore.com
新盘新项目,不再等待,现在就是最佳上车机会!coinsrore.com
新盘新盘 这个月刚上新盘 新车第一个吃螃蟹!coinsrore.com
华纳东方明珠客服电话是多少?(??155--8729--1507?《?薇-STS5099】【?扣6011643?】
华纳东方明珠开户专线联系方式?(??155--8729--1507?《?薇-STS5099】【?扣6011643?】
华纳万宝路客服电话是多少?(?183-8890-9465—《?薇-STS5099】【?扣6011643??】
华纳万宝路开户专线联系方式?(?183-8890--9465—《?薇-STS5099】【?扣6011643??】
华纳圣淘沙客服开户电话全攻略,让娱乐更顺畅!(?183-8890--9465—《?薇-STS5099】客服开户流程,华纳圣淘沙客服开户流程图(?183-8890--9465—《?薇-STS5099】
东方明珠客服开户联系方式【182-8836-2750—】?μ- cxs20250806
东方明珠客服电话联系方式【182-8836-2750—】?- cxs20250806】
东方明珠开户流程【182-8836-2750—】?薇- cxs20250806】
东方明珠客服怎么联系【182-8836-2750—】?薇- cxs20250806】
寻找华纳圣淘沙公司开户代理(183-8890-9465薇-STS5099】
华纳圣淘沙官方合作开户渠道(183-8890-9465薇-STS5099】
华纳圣淘沙公司开户代理服务(183-8890-9465薇-STS5099】
华纳圣淘沙公司开户咨询热线(183-8890-9465薇-STS5099】
联系客服了解华纳圣淘沙开户
(183-8890-9465薇-STS5099】
华纳圣淘沙公司开户专属顾问
(183-8890-9465薇-STS5099】