前言:
docker实战篇(三)–dockerfile 文件学习还在整理,因为学这个要先写理论篇。所以先跳过三,直接进入docker实战第四篇docker的大杀器,让大家快速学习并直接上前线战斗。
docker compose这个大杀器是Docker官方编排的项目之一,负责快速的部署分布式应用。看到红色的字,应该就知道,这个大杀器有多牛了吧,快速部署分布式应用。也是开发者必须学会的搭建方法,如果你前面学那些命令很痛苦,学到这里,你就开始解放自己了,因为是真的简单。springboot的配置文件yml学过的话,这个就更加简单了。当然,下面会有我整理好的yml文件,复制粘贴,改改东西,就可以做到一次写好,到处运行了。
开始学习:
首先当然是安装docker compose了,如果还没装docker环境的,请移步到docke实战篇(一)–ubuntu下安装docker并配置镜像加速安装好后再来学这篇。
以下操作使用root权限,想偷懒~!
一:开始安装:将如下命令复制并执行。如果提示权限不足,请切换到root权限
curl -L https://github.com/docker/compose/releases/download/1.22.0/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
二:进到/usr/local/bin/目录下
cd /usr/local/bin
三:这里你可以ls看一下是否有compose文件,只有正确操作都有的,有的话执行如下命令,给compose文件夹执行权限(默认下载下来是没有权限的,坑爹~~~~)
chmod +x /usr/local/bin/docker-compose
四:我们没事干看看版本吧。
docker-compose version
会看到如下信息,这玩意python写的,所以会有对应的版本信息。
五:我们找个地方厂家个文件夹,来试试docker compose吧,下面步骤是连着的,直接按顺序复制即可
cd /usr/local/
mkdir -p docker/tomcat
cd docker/tomcat
上面就是为了进入一个自己创建的文件夹,你可以随意
六:现在的位置是/usr/local/docker/tomcatd 创建一个docker-compose.yml文件(文件名就用这个就好,尽量不要自定义)
touch docker-compose.yml
七:修改该配件
vi docker-compose.yml
八:将以下代码复制进去
version: '3'
services:
tomcat:
restart: always
image: tomcat
container_name: tomcat
ports:
– 8080:8080
上面的version ‘3’ 不能乱改,具体是什么版本需要看官方。
service是服务。restart是重启,设置成总是就可以。
image是镜像。container_name是名字。
ports端口。
九:启动容器,执行以下命令即可
docker-compose up
十:开启浏览器,ip:8080就可以访问啦
十一:开启的是前台运行的,会占掉一个终端,我们可以使用守护态运行。加个-d就可以了
docker-compose up -d
十二:守护态运行如何看,执行以下命令
docker ps
显示如下:
十三:关闭容器,同时会删除容器。
docker-compose down
附件:
docker-compose.yml安装tomcat于mysql的配置
version: '3' services: tomcat: restart: always image: tomcat container_name: tomcat ports: - 8080:8080 volumes: - /usr/local/docker/test/test:/usr/local/tomcat/webapps/ROOT mysql: restart: always image: mysql:5.7.22 container_name: mysql ports: - 3306:3306 environment: TZ: Asia/Shanghai MYSQL_ROOT_PASSWORD: 123456 command: --character-set-server=utf8mb4 --collation-server=utf8mb4_general_ci --explicit_defaults_for_timestamp=true --lower_case_table_names=1 --max_allowed_packet=128M --sql-mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION,NO_ZERO_DATE,NO_ZERO_IN_DATE,ERROR_FOR_DIVISION_BY_ZERO" volumes: - mysql-data:/var/lib/mysql volumes: mysql-data
上面需要修改的地方,主要是tomcat节点下的
volumes:自己项目存放目录:将项目部署到该目录下
端口号可以自己改,mysql那里只要改密码就可以了。如果看不懂上面哪个是密码,那就一个一个百度吧。这英语。。。。。。
总结:
这个大杀器真的很便利,比我写dockerfile时的绝望好太多了,瞬间被它吸粉了。用这个也很适合做分布式部署。
程序人生,与君共勉~!
原文链接:https://blog.csdn.net/weixin_41622183/article/details/86595139