1.什么时Docker compose
使用Docker compose 时,只需要在一个配置文件中定义多个Docker容器,然后使用一条命令启动这些容器,Docker compose 会通过解析容器间的依赖关系按先后顺序启动所定义的容器
1.先安装Docker Compose,使用直接下载好的离线包拷贝到/usr/local/bin目录下
chmod +x /usr/local/bin/docker-compose //给他提权
2.安装好后查看版本
docker-compose -v //查看版本
二:Docker Compose 文件结构
1:编写文件,compose默认的模板文件名字为docker-compose.yaml
services: //这是Docker Compose文件中的一个顶级键
webapp: //这是服务的名称
image: 'httpd:latest' //这行指定了服务使用的Docker镜像
ports: //这个键用于定义端口映射
- "80:80" //这表示将容器内的80端口映射到宿主机的80端口上
volumes: //这个键用于定义卷挂载
- "/var/www/html:/usr/local/apache2/htdocs:rw"
//这表示将宿主机上的/var/www/html目录挂载到容器内的/usr/local/apache2/htdocs目录上,并且挂载模式为读写(rw)。/usr/local/apache2/htdocs是Apache服务器默认存放网页文件的目录,因此这个挂载允许你将网页文件放在宿主机上,并通过Apache服务器来服务这些文件
1.执行这个文件,生成容器
docker-compose up -d
注意://不加选项-d会在前台运行,结束该进程,这个容器就关闭了,加上-d后可以让容器在后台持续运行
2.查看当前运行的容器
docker-compose ps
3.查看服务日志输入
docker-compose logs webapp
4.启动,删除,停止指定服务的容器
docker-compose start webapp //start:启动指定服务已存在的容器
docker-compose stop webapp //stop:停止已运行的服务的容器
docker-compose stop webapp //删除指定服务的容器 注意先停止在删除,
docker-compose rm webapp
5.指定要复制几个副本
docker-compose scale webapp=3
//可以利用scale可以为一个service创建多个容器,构建出一个负载均衡的环境
三:Docker Compose yml配置文件及常用指令简介
1.编写文件
vim docker-compose.yaml
version: '2'
services:
webapp:
image: 'nginx'
ports:
- "80:80"
volumes:
- "/www/html:/www/html:rw"
- "/opt/nginx/nginx.conf:/etc/nginx/nginx.conf"
2:修改nginx配置文件
将nginx的配置文件上传到docker主机上
[root@localhost ~]# mkdir /opt/nginx
[root@localhost ~]# vim /opt/nginx/nginx.conf
#user nobody;
worker_processes 1;
#pid logs/nginx.pid;
events {
worker_connections 1024;
[root@localhost ~]# docker-compose up -d
安装docker-compose
准备好配置文件之后,安装docker-compose,因为Harbor的安装脚本是基于docker-compose去安装的。下载docker-compose然后放到/usr/local/bin/目录下,再更改一下权限即可:
6:运行Harbor的安装脚本
./install.sh
7:安装完成,使用浏览器访问Harbor,正常情况下应能进入登录界面:
默认用户名为admin,密码则为配置文件中定义的密码。登录成功后页面如下:
默认用户名为admin,密码则为配置文件中定义的密码。登录成功后页面如下: