- 导入镜像
- 安装docker-compose容器编排工具
- 创建配置文件
- 运行
- 验证
步骤:
技巧:镜像也可不事先下载,执行命令会自动下载,但是那样会很慢!!!
1、 导入镜像
提示:实验环境导入前先保证,防火墙关闭,安全策略关闭,docker正常启动;版本不要过高,有些版本部分场景会报错!
docker load -i tomcat163.tar //tomcat镜像
docker load -i mysql5.7.tar //MySQL镜像
docker load -i redis.tar //redis镜像
2、 安装docker-compose容器编排工具
1)移动到命令默认搜索路径并重命名
mv docker-compose-Linux-x86_64 /usr/local/bin/docker-compose
2)赋权
chmod +x docker-compose
3、 创建配置文件
1)创建目录
mkdir /repository
2)进入目录,创建文件
cd /repository/
vim docker-compose.yml
version: "3" services: tomcat: image: hub.c.163.com/library/tomcat container_name: tomcat ports: - "8080:8080" volumes: - tomcatwebapps:/usr/local/tomcat/webapps networks: - repository depends_on: - mysql - redis healthcheck: test: ["CMD","curl","-f","http://localhost"] interval: 1m30s timeout: 10s retries: 3 ulimits: nproc: 65535 nofile: soft: 20000 hard: 40000 mysql: image: mysql:5.7 container_name: mysql ports: - "3306:3306" volumes: - mysqldata:/var/lib/mysql - mysqlconf:/etc/mysql environment: MYSQL_ROOT_PASSWORD: 123.com networks: - repository redis: image: redis:5.0.10 container_name: redis ports: - "6379:6379" volumes: - redisdata:/data networks: - repository command: "redis-server --appendonly yes" volumes: tomcatwebapps: mysqldata: mysqlconf: redisdata: networks: repository:
释义:
services: #用来书写当前项目中的那些容器、服务 image: hub.c.163.com/library/tomcat #指定使用镜像 container_name: tomcat #指定容器名 ports: #指定端口映射 - "8080:8080" volumes: #数据卷共享 #- /root/apps:/usr/local/tomcat/webapps#使用自定义路径映射数据卷(事先创建挂载目录) - tomcatwebapps:/usr/local/tomcat/webapps #使用自动数据卷 networks: #当前服务使用哪个网桥 - tomnet depends_on: #把下列依赖的服务先启动,自己再启动;体现了容器的编排 - mysql - redis healthcheck: #实现docker引擎和容器的心跳检查 test: ["CMD","curl","-f","http://localhost"] interval: 1m30s timeout: 10s retries: 3 ulimits: #修改容器中最大进程数和文件数限制 environment: MYSQL_ROOT_PASSWORD: 123.com #修改环境信息,改root密码 command: "redis-server --appendonly yes" #容器执行命令 volumes: #声明上面自动数据卷 tomcatwebapps: #声明数据卷名,自动创建项目名开头的卷名 external: #使用自定义外部卷名 true/false #true 需要提前手动创建这个命名的数据卷 mysqldata: mysqlconf: redisdata: networks: #声明服务的网桥 tomnet: #定义项目开头的网桥名,默认类型bridge external: #是否使用外部提前创建的网桥,true为确定 true
4、 运行docker-compose
常见报错:分两类
一类:缺少代码,提示解析块映射时出错,1行1列;2行3列
解决:
二类:多附加了参数,卷类型不允许这样设置
解决:删除多余参数
成功如下图:
验证:
访问tomcat:
访问redis:
1)windows11软件登录redis创建键值对
2)进入容器,查看到此键值对
访问MySQL:
windows11软件登录MySQL可以使用
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)