1.下载
https://github.com/docker/compose
2.授权
mv /data/docker-compose-Linux-x86_64 /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose
开发环境可以授予最高权限
chmod 777 /usr/local/bin/docker-compose
3.检查安装情况以及版本
docker-compose -v
docker-compose --version
docker-compose version
卸载docker-compose
docker-compose卸载只需要删除二进制文件就可以了。
rm -rf /usr/local/bin/docker-compose
reboot
yml配置文件及常用指令
- Docker Compose 使用 YAML 文件来定义多服务的应用。YAML 是 JSON 的一个子集,因此也可以使用 JSON。
- Docker Compose 默认使用文件名 docker-compose.yml。当然,也可以使用 -f 参数指定具体文件。
- Docker Compose 的 YAML 文件包含 4 个一级
key:version、services、networks、volumes - version 是必须指定的,而且总是位于文件的第一行。它定义了 Compose 文件格式(主要是 API)的版本。注意,version
并非定义 Docker Compose 或 Docker 引擎的版本号。 - services 用于定义不同的应用服务。
- networks 用于指引 Docker 创建新的网络。默认情况下,Docker Compose 会创建 bridge 网络。
这是一种单主机网络,只能够实现同一主机上容器的连接。当然,也可以使用 driver 属性来指定不 同的网络类型。 - volumes 用于指引 Docker 来创建新的卷
反向代理案例
安装docker插件
- idea安装docker插件。Dockerfile、docker-compose.yml文件大部分内容会有提示信息。方便开发人员
编写配置文件。
基础镜像
docker pull nginx:1.19.3-alpine
docker pull tomcat:9.0.20-jre8-alpine
试运行镜像
docker run -itd --name nginx -p 80:80 nginx:1.19.3-alpine
docker run -itd --name tomcat -p 8080:8080 tomcat:9.0.20-jre8-alpine
mkdir -p /usr/yyj/docker/tomcat1 tomcat2
docker cp nginx:/etc/nginx/ /usr/yyj/docker
docker cp tomcat:/usr/local/tomcat/webapps /usr/yyj/docker/tomcat1/webapps
docker cp tomcat:/usr/local/tomcat/webapps /usr/yyj/docker/tomcat2/webapps
echo "tomcat1" > /usr/yyj/docker/tomcat1/webapps/ROOT/index.jsp echo "tomcat2" > /usr/yyj/docker/tomcat2/webapps/ROOT/index.jsp docker rm -f nginx tomcat
nginx.conf
nginx.conf增加内容
include vhost/*.conf;
反向代理配置
mkdir -p /usr/yyj/docker/nginx/vhost
cd vhost
vi yyj.conf
upstream nginxyyj{
server 192.168.1.8:8081;
server 192.168.1.8:8082;
}
server{
listen 80;
server_name 192.168.1.8;
autoindex on;
index index.html index.htm index.jsp;
location / {
proxy_pass http://nginxyyj;
add_header Access-Control-Allow-Origin *;
}
}
docker-compose
version: '3'
services:
yyj-nginx:
restart: always
container_name: yyj-nginx1
volumes:
- /usr/yyj/docker/nginx:/etc/nginx/
image: nginx:1.19.3-alpine
ports:
- 80:80
yyj-tomcat1:
restart: always
container_name: yyj-tomcat11
volumes:
- /usr/yyj/docker/tomcat1/webapps:/usr/local/tomcat/webapps
image: tomcat:9.0.20-jre8-alpine
ports:
- 8081:8080
depends_on:
- yyj-nginx
yyj-tomcat2:
restart: always
container_name: yyj-tomcat22
volumes:
- /usr/yyj/docker/tomcat2/webapps:/usr/local/tomcat/webapps
image: tomcat:9.0.20-jre8-alpine
ports:
- 8082:8080
depends_on:
- yyj-nginx
启动服务
docker-compose up
docker-compose up -d
常用命令汇总
停止服务
docker-compose down
列出所有运行容器
docker-compose ps
查看服务日志
docker-compose logs
启动服务
docker-compose start
停止已运行的服务
docker-compose stop
重启服务
docker-compose restart