docker-compose安装使用

安装前:
uname -s ,uname -m 查看下系统架构信息
Centos 安装: 
sudo curl -L https://github.com/docker/compose/releases/download/
v2.7.0/docker-compose-linux-x86_64 -o /usr/local/bin/docker-compose

//修改权限
sudo chmod +x /usr/local/bin/docker-compose
Mac OS 安装:
sudo curl -L https://github.com/docker/compose/releases/download/
v2.7.0/docker-compose-darwin-x86_64 -o/usr/local/bin/docker-compose

//修改权限
sudo chmod +x /usr/local/bin/docker-compose
安装完成:docker-compose -v查看下版本即可
docker-compose 格式官网文档:
https://compose-spec.io/
举例:
docker-compose-mysql.yml文档
version: '3'
services:
 mysql:
  image: mysql:8.0.21
  restart: always
  container_name: mysql888
  volumes:
   - /opt/mysql/conf:/etc/mysql/conf.d
   - /opt/mysql/data:/var/lib/mysql
   - /opt/mysql/log:/var/log/mysql
  environment:
   MYSQL_ROOT_PASSWORD: xxxx@1234xx
执行
docker-compose up docker-compose-mysql.yml -d
结果:
docker images
会发现自动pull拉了个mysql:8.0.21的镜像。
docker ps
可以看到创建了一个容器名为mysql888的容器并运行了
ed576fbc803e   mysql:8.0.21   "docker-entrypoint.s…"   About a minute ago   Up About a minute           3306/tcp, 33060/tcp   mysql888 
 上面用docker-compose的效果和直接使用docker run 的效果是一样的
docker run -p 33306:3306 --name mysql888 -v $PWD/conf:/etc/mysql/conf.d -v $PWD/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=‘xxxx@1234' -d mysql:8.0.21
共中$PWD是指当前执行命令时所在的目录。
 
例二,借助Dockerfile
Dockerfile
# Docker image for springboot file run
# VERSION 0.0.1
# 基础镜像使用java,具体要看自己的docker 镜像源是否有
FROM java:8
MAINTAINER fengsh998 <fengsh998@163.com>
# VOLUME 指定了临时文件目录为/tmp。
# 其效果是在主机 /var/lib/docker 目录下创建了一个临时文件,并链接到容器的/tmp
VOLUME /tmp 
# 将jar包添加到容器中并更名为upload.jar,并放在容器中的/opt目录下
ADD uploader-0.0.1-SNAPSHOT.jar /opt/upload.jar 
# 运行jar包
RUN bash -c 'touch /opt/upload.jar'
#创建配置目录
RUN mkdir -p /etc/sdkServer
#创建数据存放目录,方便后面进行挂载
RUN mkdir -p sdkdata
#启动容器之后要执行的命令
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/opt/upload.jar"]
docker-compose.yml
version: '3'
services:
demo:
  build: . //Dockerfile所在目录
  ports:
   - "8899:80"
把docker-compose.yml和Dockerfile放在同一目录下,执行
docker-compose up -d
 完成后查看结果:
docker images查看可以多了一个镜像
server_demo   latest    5a8834717383   13 minutes ago   721MB
再来查看容器
docker ps
d12fb211d6e0   server_demo    "java -Djava.securit…"   15 minutes ago   Up 15 minutes   8899/tcp, 0.0.0.0:8899->80/tcp, :::8899->80/tcp   server-demo-1
上述可以通过指定image和container_name来指定生成的镜像名和容器名
依赖启动:
version: '3'
services:
backendApp:
  build: . #默认查找当前目录下的Dockerfile文件
  image: uploadimage #指定镜像名
  restart: always
  container_name: uploadserver
  ports:
   - "8899:80"
  volumes:
   - /opt/filesServer/conf:/etc/sdkServer
   - /opt/filesServer/data:/sdkdata
#  environment:
#   - COMPOSE_PROJECT_NAME
#  command: echo "I'm running ${COMPOSE_PROJECT_NAME}"
  networks:
   uploadapp_net:
    aliases:
     - uploadhost
  depends_on:
   - mysql80


mysql80:
  image: mysql:8.0.21
  restart: always
  container_name: fmysql80
  ports:
   - "33306:3306"
  volumes:
   - /opt/filemgrs/conf:/etc/mysql/conf.d
   - /opt/filemgrs/data:/var/lib/mysql
   - /opt/filemgrs/log:/var/log/mysql
  environment:
   MYSQL_ROOT_PASSWORD: File@1234!~
   MYSQL_DATABASE: fmysql
   MYSQL_USER: fengsh
   MYSQL_PASSWORD: Qwer@1234!~
  networks:
   uploadapp_net:
    aliases:
     - mysqlhost
networks:
uploadapp_net: #默认情况下会生成一个当前目录+_uploadapp_net的网络名,也可以通过改COMPOSE_PROJECT_NAME环境变量来处理
  external: true #忽略网络,不自动创建

Docker Compose是一个用于定义和管理多容器Docker应用程序的工具。它通过使用YAML文件来定义应用程序的服务、网络和卷等配置,并通过简单的命令来启动、停止和管理应用程序。 安装Docker Compose的步骤如下: 1. 首先确保已经安装Docker。你可以通过运行`docker version`命令来检查Docker是否已经安装成功。 2. 下载Docker Compose的二进制文件。可以使用以下命令来下载最新版本的Docker Compose: ``` sudo curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose ``` 3. 授予执行权限给docker-compose二进制文件: ``` sudo chmod +x /usr/local/bin/docker-compose ``` 4. 验证Docker Compose是否安装成功: ``` docker-compose --version ``` 如果显示了正确的版本号,则说明安装成功。 使用Docker Compose创建和管理应用程序的步骤如下: 1. 在项目根目录创建一个名为`docker-compose.yml`的YAML文件。 2. 在`docker-compose.yml`文件中定义你的应用程序的服务、网络和卷等配置。例如,以下是一个简单的示例: ```yaml version: '3' services: web: image: nginx ports: - "80:80" db: image: mysql environment: MYSQL_ROOT_PASSWORD: example ``` 3. 使用以下命令来启动应用程序: ``` docker-compose up ``` 这将根据`docker-compose.yml`文件中的配置创建和启动服务。 4. 如果需要在后台运行应用程序,可以使用以下命令: ``` docker-compose up -d ``` 5. 使用以下命令停止应用程序: ``` docker-compose down ``` 以上就是Docker Compose的安装和基本使用方法。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

边缘998

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值