Caution

todo…

https://docs.docker.com/compose/install/linux/

# 安装
apt-get install docker-compose-plugin
# Compose standalone 方式
docker-compose -f docker-compose.yml  up -d
# Compose plugin 方式
docker compose up -d # 不能指定文件...?
# 下面的操作都需要在 有docker-compose.yml 文件的目录下执行
docker-compose stop
docker-compose down # 停止容器并且删除容器
docker compose ps # 查看 用compose 启动的容器
# 进入某个容器
# 这里就用db 就可以了
# 如果使用 docker exec 需要的名字就不一样了 docker ps -a 查看
docker-compose exec db sh
docker compose restart
version: '3'
services:
  db:
    image: mysql:5.7
    container_name: my_db
    ports:
        - 3306:3306
    volumes:
        - mysql-data:/var/lib/mysql
    environment:
      MYSQL_ALLOW_EMPTY_PASSWORD: 1  #必须使用1 才行,
    networks:
        - my-bridge
volumes:
    mysql-data:    # 这样设置表示一个卷标 ,上面的挂载, 不知道挂载到哪里了
networks:
  my-bridge:
    driver: bridge
docker volume ls |grep mysql-data
# local               dockerfile_mysql-data
# 找到位置
docker volume inspect   dockerfile_mysql-data

1 一些简易的yml

consul
version: '3'
services:
  consul:
    image: consul
    restart: always
    container_name: consul_server
    network_mode: bridge 
    volumes: 
      - ./consul:/tmp/consul
    ports:
      - 8300:8300
      - 8301:8301
      - 8301:8301/udp
      - 8302:8302
      - 8302:8302/udp
      - 8400:8400
      - 8500:8500
      - 8600:8600/udp
      - 53:53/udp
    command: consul agent -data-dir=/tmp/consul -dev -client=0.0.0.0
grafana
version: "3"

services:
  grafana:
    image: grafana/grafana
    ports:
      - 3000:3000
    environment:
    #   GF_INSTALL_PLUGINS=grafana-clock-panel,grafana-simple-json-datasource
    #   GF_SECURITY_ADMIN_PASSWORD=admin
      GF_INSTALL_PLUGINS: grafana-clock-panel,grafana-simple-json-datasource 
      # 卡的话,使用url地址来;后面是别名 然后用,隔开表示另外一个插件 https://codeload.github.com/grafana/clock-panel/legacy.zip/bb466d0682d58af659b018748d53c0d3b69a8377;clock-panel,https://codeload.github.com/grafana/simple-json-datasource/legacy.zip/87ced44c4587eae39eeedcbd4b2936593724de16;simple-json-datasource
      GF_SECURITY_ADMIN_PASSWORD: admin
    volumes:
      - ./grafana:/var/lib/grafana
mysql
version: '3'
services:
  db:
    image: mysql:5.7
    container_name: mysql
    ports:
      - 3306:3306
    environment:
      MYSQL_ALLOW_EMPTY_PASSWORD: 1
    volumes:
      - ./mysql/data:/var/lib/mysql
    networks:
      - my-bridge
networks:
  my-bridge:
    driver: bridge
rabbitmq
version: '3.1'
services:
  rabbitmq:
    image: rabbitmq:3.6.9-management
    ports:
      - "4369:4369"
      - "5671:5671"
      - "5672:5672"
      - "15672:15672"
      - "25672:25672"
    hostname: rmq
    container_name: rabbitmq
    environment:
      RABBITMQ_DEFAULT_VHOST: /
      RABBITMQ_DEFAULT_USER: admin
      RABBITMQ_DEFAULT_PASS: admin
      RABBITMQ_LOGS: /var/lib/rabbitmq/rabbitmq.log
      RABBITMQ_SASL_LOGS: /var/lib/rabbitmq/rabbitmq-sasl.log
      RABBITMQ_ERLANG_COOKIE: LZJADKXKLULIXFKAALGX
      TZ: Asia/Shanghai
      #extra_hosts:
#      - "rmq_node1:172.16.11.106"
#- "rmq_node2:172.16.11.156"
#      - "rmq_node3:172.16.11.206"
    volumes:
      - ./rabbitmq:/var/lib/rabbitmq
#      - /etc/hosts:/etc/hosts
    restart: always
redis
version: '3'
services:
  redis:
    image: redis:alpine
    container_name: redis
      #    restart: always
    volumes:
      - ~/docker_data/redis/data:/data
      - ~/docker_data/redis/logs:/logs
        #- ./conf/redis.conf:/usr/local/etc/redis/redis.conf
    ports:
      - 6379:6379

1.1 vscode go开发用

golang-vscode1

nacos2

Back to top