docker-compose。yml文件简单编辑

docker-compose.yml文件编辑


文章目录

  • docker-compose.yml文件编辑
    • 1compose文件的基本结构
    • 2 compose编写操作
      • 首先拉取一个镜像
      • 为了方便yml文件的编写我们将镜像名字缩短
      • 进入docker-compose.yml中
      • 运行compose
      • 停止compose运行 即停止并移除由 docker-compose.yml 文件定义的所有服务、网络和卷

1compose文件的基本结构

1.version: '3'                   # Compose文件格式版本
# 此文件配置了两个服务Web和Redis
services:                      # 定义服务的节
  web:                         # 服务名称
    build: .                   # 基于Dockerfile构建服务
    ports:                     # 映射端口
    - "5000:5000"
    networks:                  # 服务的网络 
    - backend                  # 引用网络定义
    volumes:                   # 挂载卷
    - .:/code
    - logvolume01:/var/log     # 引用卷定义
    links:
    - redis
  redis:
    image: redis               # 服务的镜像名称或镜像ID

networks:                      # 定义网络的节
  frontend:
  backend:

volumes:                       # 定义卷(存储)的节
  logvolume01: {}


2.基本的yml文件格式
name:
services:
  service_name:
    image: repository/image:tag
    ports:
      - "host_port:container_port"
    volumes:
      - ./host_path:/container_path
    environment:
      ENV_VAR_NAME: value

2 compose编写操作

首先拉取一个镜像

[root@localhost ~]# docker pull swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/library/httpd:alpine
alpine: Pulling from ddn-k8s/docker.io/library/httpd
43c4264eed91: Pull complete 
88d4b7713ec8: Pull complete 
f72fcafaf757: Pull complete 
4f4fb700ef54: Pull complete 
96c8348b64df: Pull complete 
22d0e026f737: Pull complete 
3f69efd7f517: Pull complete 
Digest: sha256:4569f9c2d16ab178a5a674dd2aae44cc5e6da447861166109ac2aa1005c7f5e2
Status: Downloaded newer image for swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/library/httpd:alpine
swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/library/httpd:alpine

为了方便yml文件的编写我们将镜像名字缩短

[root@localhost ~]# docker tag swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/library/httpd:alpine httpd:v1 #tag改为V1

进入docker-compose.yml中

[root@localhost ~]# vi docker-compose.yml
name: 
services:
  web:
    image: httpd:v1
    ports:
      - "80:80"
    volumes:
      - ./html:/usr/local/apache2/htdocs/
    restart: always

networks:
  default:
    driver: bridge 
    保存退出

运行compose

[root@localhost ~]# docker-compose up -d 
WARN[0000] /root/docker-compose.yml: the attribute `version` is obsolete, it will be ignored, please remove it to avoid potential confusion 
[+] Running 2/2
 ✔ Network root_default  Created                                                                                    1.1s 
 ✔ Container root-web-1  Started  


详细解释
docker-compose: 调用 Docker Compose 工具,用于管理多容器 Docker 应用。

up: 启动和运行 docker-compose.yml 文件中定义的所有服务,创建所需的网络和卷。

-d: 表示以分离模式(detached mode)运行,容器将在后台运行,而不是在前台显示日志输出。


这是我们创建好的容器
[root@localhost ~]# docker ps
CONTAINER ID   IMAGE      COMMAND              CREATED         STATUS         PORTS                               NAMES
dae46d8f3640   httpd:v1   "httpd-foreground"   2 minutes ago   Up 2 minutes   0.0.0.0:80->80/tcp, :::80->80/tcp   root-web-1

停止compose运行 即停止并移除由 docker-compose.yml 文件定义的所有服务、网络和卷

[root@localhost ~]# docker-compose down
WARN[0000] /root/docker-compose.yml: the attribute `version` is obsolete, it will be ignored, please remove it to avoid potential confusion 
[+] Running 2/2
 ✔ Container root-web-1  Removed                                                                                    1.5s 
 ✔ Network root_default  Removed  

你可能感兴趣的:(#,docker,docker)