下载/上传docker-compose
访问https://github.com/docker/compose/releases,选择docker-compose-linux-x86_64下载
设置为可执行
方式1:
移动到user/bin下,设置为可执行权限
# 移动到可执行目录下mv docker-compose-Linux-x86_64 /usr/bin/docker-compose# 赋予执行权限chmod +x /usr/bin/docker-compose
方式2:
设置为执行权限,设置软连接
# 赋予执行权限chmod +x docker-compose-Linux-x86_64# 创建软连接 例如执行文件绝对路径为:/home/docker/docker-compose-Linux-x86_64ln -s /home/docker/docker-compose-Linux-x86_64 /usr/bin/docker-compose
验证
使用说明
docker-compose需要和配置文件配合使用,在有docker-compose.yml的文件夹下,执行docker-compose命令,配置文件在另一章节说明。
# 根据配置文件参数创建容器 后可跟-ddocker-compose up# 指定创建某一个docker-compose up efm-mysql# 等等
配置文件说明
docker-compose可以启动/管理多个容器,如下是配置文件参数解释说明
在使用docker-compose时,需要注意,如果是不联网环境,镜像版本不能使用latest,必须指定版本号,否则会自动拉取版本。
# 版本version: '2'# 服务列表services:# 服务名efm-oracle:# 镜像名image: oracle19c:1.0# 指定容器名称container_name: efm-oracle1# 端口 可以多行 格式: - 宿主机端口:容器端口 例: - 1521:1521ports:- 1521:1521# 自动重启restart: always# 是否root 权限privileged: true# 指定主机名hostname: oracle01# 启动命令参数 覆盖容器启动的默认命令 例如["-i","p","1521:1521"]command: ["/usr/sbin/init"]volumes:- /home/user/oracle:/opt/oracle# 容器环境变量 environment:# 构建 build:# 路径 context: ./# 通过dockerfile构建 dockerfile:
# 版本version: '2'# 服务列表services:# 服务名efm-oracle:# 镜像名image: oracle19c:1.0# 指定容器名称container_name: efm-oracle1# 端口 可以多行 格式: - 宿主机端口:容器端口 例: - 1521:1521ports:- 1521:1521# 自动重启restart: always# 是否root 权限privileged: true# 指定主机名hostname: oracle01# 启动命令参数 覆盖容器启动的默认命令 例如["-i","p","1521:1521"]command: ["/usr/sbin/init"]volumes:- /home/user/oracle:/opt/oracle# 容器环境变量 environment:# 构建 build:# 路径 context: ./# 通过dockerfile构建 dockerfile:efm-mysql:image: mysql:8.0.16container_name: efm-mysql1ports:- 3306:3306restart: alwaysenvironment:MYSQL_ROOT_PASSWORD: 123456volumes:- /home/user/mysql/data/mysql:/var/lib/mysqlefm-redis:image: redis:6.2.6container_name: efm-redis1ports:- 6379:6379restart: always# 如果要使用配置文件启动,就添加配置文件参数 例如"/etc/redis/redis.conf"command: ["--appendonly","yes"]# 如果要使用redis配置文件,可以在宿主机提供配置文件挂载到容器某个路径下,例如"/etc/redis/redis.conf"volumes:- /home/user/redis/data:/data# - /home/user/redis/conf/redis.conf:/etc/redis/redis.confnginx:image: nginx:1.21.6container_name: efm-nginx1ports:- 9020:9020restart: always# command:volumes:- /home/user/nginx/nginx.conf:/etc/nginx/nginx.conf- /home/user/nginx/conf.d:/etc/nginx/conf.d- /home/user/efm-ui:/usr/local/efm-ui# 容器环境变量 environment:minio:image: minio:8.5container_name: efm-minio1ports:- 9000:9000- 9090:9090restart: alwayscommand: ["server","/data","--console-address",":9000","--address",":9090"]environment:MINIO_ROOT_USER: adminMINIO_ROOT_PASSWORD: minioadminvolumes:- /home/user/minio/data:/data- /home/user/minio/config:/root/.minio
