«

利用 docker-compose 打造一个属于自己的 php go 开发环境

时间:2024-2-20 11:36     作者:韩俊     分类: Linux


利用 docker-compose 打造一个属于自己的 php go 开发环境,docker-compose 代码如下:

version: '3' #指定本 yml 依从的 compose 哪个版本制定的
services: #多个容器集合
#一套环境
  nginx-server-8018: #自定义服务名称
    container_name: nginx-8018 #容器名称
    image: nginx:latest #docker-hub上的nginx最新版本的nginx镜像
    depends_on: #依赖,会在如下依赖服务启动之后再启动本服务
      - redis-server-8018
      - memcache-server-8018
      - php-server-8018
      - mysql-server-8018
    tmpfs: /home/yhm/docker-test #挂载临时目录到容器内部,数据是保存到内存中的
    ports:
      - 8018:80 #端口映射,外部端口:内部端口
    networks:
      - nginx-networks
    volumes: #映射宿主机和容器目录,数据是永久保存的
#      - /home/yhm/docker-test:/etc/nginx/conf.d/ #宿主机目录:容器目录
      - ./:/usr/share/nginx/html1
  redis-server-8018:
    container_name: redis-8018
    image: redis:latest
  memcached-server-8018:
    container_name: memcached-8018
    image: memcached:latest
  php-server-8018:
    container_name: php-8018
    image: php:7.4
  mysql-server-8018:
    container_name: mysql-8018
    image: mysql:5.7
    ports:
      - 8382:3306
    environment: #设置镜像变量,它可以保存变量到镜像里面,也就是说启动的容器也会包含这些变量设置
      MYSQL_ROOT_PASSWORD: "123456"
      MYSQL_DATABASE: ""
      MYSQL_USER: "root"
      MYSQL_PASSWORD: "123456"
    volumes:
      - /home/yhm/docker-test:/var/lib/mysql
  go-server-8018:
    container_name: go-8018
    image: golang:latest    
networks:
  nginx-networks:
    driver: bridge

然后新建一个目录,将以上代码保存到后缀名为 yml 的文件中,例如:my-docker-compose.yml,然后执行:

docker-compose up -f ./my-docker-compose.yml -d 

docker-compose 命令简介

如命令:

docker-compose up -d

-f

默认使用的配置文件是当前目录中的 docker-compose.yml 文件,我们可以通过 -f 选项指定一个其它名称的配置文件

up

启动所有在Compose问中定义的容器,并且把它们的日志信息汇集在一起。通常会添加-d参数(在up后面),让容器在后台执行

start

启动指定的已经存在的容器

build

重新建造由Dockerfile构建的镜像。

ps

获取由Compose管理的容器的状态信息

run

启动一个容器,并允许一个一次性的命令。被连接的容器会同时启动,除非用了 --no-deps参数。

logs

汇集由Compose管理的容器的日志,并以彩色输出。

stop

停止容器,但不会删除它们

rm

删除已停止的容器。不要忘记使用-v参数来删除任何由Docker管理的数据卷

标签: linux

热门推荐