首页 > 其他分享 >docker-compose 构建项目

docker-compose 构建项目

时间:2023-01-10 15:37:00浏览次数:43  
标签:容器 compose nginx 构建 build dotnet docker

1.创建一个net7 webapi 项目

配置docker-compose.yml 支持

 

 

Deploy 中放的docker-compose.yml  文件

 

2.dockerfile文件

 

#See https://aka.ms/containerfastmode to understand how Visual Studio uses this Dockerfile to build your images for faster debugging.

FROM mcr.microsoft.com/dotnet/aspnet:7.0 AS base
WORKDIR /app
EXPOSE 8001

#配置运行端口
ENV ASPNETCORE_ENVIRONMENT=Development
ENV ASPNETCORE_URLS http://+:8001

FROM mcr.microsoft.com/dotnet/sdk:7.0 AS build
WORKDIR /src
COPY ["Dev.DockerComposeTest.csproj", "./"]
RUN dotnet restore "./Dev.DockerComposeTest.csproj"
COPY . .
WORKDIR "/src/."
RUN dotnet build "Dev.DockerComposeTest.csproj" -c Release -o /app/build

FROM build AS publish
RUN dotnet publish "Dev.DockerComposeTest.csproj" -c Release -o /app/publish /p:UseAppHost=false

FROM base AS final
WORKDIR /app
COPY --from=publish /app/publish .
ENTRYPOINT ["dotnet", "Dev.DockerComposeTest.dll"]
#ENTRYPOINT ["dotnet", "Dev.DockerComposeTest.dll","--urls=http://*:8001"]

 

docker-compose.yml 文件

 

version: '3.4'

services:
  docker-compose-demo01:
    build:
      context: ../Dev.DockerComposeTest/
      dockerfile: Dockerfile
    image: docker-compose-demo01
    container_name: docker-compose-demo01
    restart: always
    environment:                        # 设置环境变量,相当于docker run命令中的-e
      TZ: Asia/Shanghai
      LANG: en_US.UTF-8
      #ASPNETCORE_ENVIRONMENT: Development
      #ASPNETCORE_URLS: http://+:5011
    #environment:                        # 设置环境变量,相当于docker run命令中的-e
      #- ASPNETCORE_ENVIRONMENT=Development
      #- ASPNETCORE_URLS=http://+:5009  
    ports:
      - "8001:8001"
    #选择网络
    networks:
      - docker-compose-demo-net01
networks:
  docker-compose-demo-net01:
    driver: "bridge"

docker-compose.yml 操作方法

获得一个命令的帮助
docker-compose 命令 --help

构建并启动所有容器,如果镜像存在就重新构建
docker-compose up -d --build

启动所有服务
docker-compose up -d

构建启动nignx容器               
docker-compose up -d nginx       

-f 指定使用的Compose配置文件启动,默认为docker-compose.yml,可以多次指定。
docker-compose -f docker-compose.yml up -d

运行一个服务,并在服务上执行一个命令
docker-compose run 容器id或容器名 ip addr

登录到nginx容器中             
docker-compose exec nginx bash

此命令将会停止 up 命令所启动的容器,并移除网络
docker-compose down

列出项目中运行的所有容器
docker-compose ps

列出项目中运行及未运行的所有容器
docker-compose ps -a

列出所有运行的服务容器
docker-compose ls

列出所有服务容器(包括未运行的容器)
docker-compose ls -a

重新启动nginx容器
docker-compose restart nginx          

构建镜像          
docker-compose build nginx            

不带缓存的构建       
docker-compose build --no-cache nginx     

查看各个服务容器内运行的进程      
docker-compose top              

查看nginx的实时日志               
docker-compose logs -f nginx        

列出 Compose 文件包含的镜像           
docker-compose images 

验证文件配置,当配置正确时,不输出任何内容,当文件配置错误,输出错误信息。                         
docker-compose config                

以json的形式输出nginx的docker日志           
docker-compose events --json nginx        

暂停nignx容器     
docker-compose pause nginx         

恢复ningx容器            
docker-compose unpause nginx      

删除容器(删除前必须关闭容器,执行stop)             
docker-compose rm nginx                       

强制删除容器(不必先关闭容器)             
docker-compose rm -f nginx    

停止nignx容器         
docker-compose stop nginx       
    
启动nignx容器           
docker-compose start nginx     

重启项目中的nignx容器                
docker-compose restart nginx               

下载依赖的镜像
docker-compose pull   

推送服务依的镜像
docker-compose push

设置指定服务运行的容器个数。通过service=num的参数来设置数量
docker-compose scale web=3 db=2

查看版本信息
docker-compose version

  

 

标签:容器,compose,nginx,构建,build,dotnet,docker
From: https://www.cnblogs.com/elsons/p/17040458.html

相关文章

  • Docker搭建测试用例平台 TestLink
    Testlink是基于WEB的测试用例管理系统,主要功能是:测试项目管理、产品需求管理、测试用例管理、测试计划管理、测试用例的创建、管理和执行,并且还提供了统计功能。Testlink......
  • centos 9 安装 docker
    给yum安装不了docker的centos:sudoyuminstall-yyum-utilssudoyum-config-manager\--add-repo\https://download.docker.com/linux/centos/docker-ce.rep......
  • docker安装rabbitmq
    启动rabbitmq下载rabbitmq3.9-management的docker镜像:dockerpullrabbitmq:3.9.21-management使用如下命令启动RabbitMQ服务:dockerrun-p5672:5672-p15672:1......
  • docker安装mysql
    启动mysql下载MySQL5.7的docker镜像:dockerpullmysql:5.7使用如下命令启动MySQL服务:dockerrun-p3306:3306--namemysql\-v/mydata/mysql/log:/var/log/my......
  • docker安装elasticsearch
    启动elasticsearch下载Elasticsearch7.17.5的docker镜像:dockerpullelasticsearch:7.17.5修改虚拟内存区域大小,否则会因为过小而无法启动:sysctl-wvm.max_map_......
  • docker搭建zookeeper、kafka集群
    docker搭建zookeeper、kafka安装kafka1.先安装zookeeper,因为kafka依赖zookeeper,虽然目前3.0kafka已准备抛弃zk,不过暂不推荐在生成环境使用dockerpullbitn......
  • Docker系列(4)--Docker上基于Centos部署自定义Tomcat环境
    一、实验环境:[root@docker1tomcat9]#cat/etc/redhat-releaseCentOSLinuxrelease7.7.1908(Core)[root@docker1tomcat9]#uname-r3.10.0-1062.el7.x86_64二、实验准......
  • Docker基础知识 (23) - 使用 Docker 部署 Nginx + Php/Laravel + MariaDB 项目 (2) -
    本文在“Docker基础知识(12)-使用Docker部署Nginx+Php/Laravel+MariaDB项目”基础上,修改Nginx的配置文件和docker-compose.yml,配置phpMyAdmin目录密码保......
  • docker启动elasticsearch和kibana
    首先执行通过docker将以下镜像进行拉取:dockerpullelasticsearch:7.4.2用于存储和检索数据(版本可以自定义,两者版本需要统一)dockerpullkibana:7.4.2用于可视化检索数......
  • docker安装mysql
    搜索镜像名字dockersearchmysql 在网页端搜索版本列表:https://hub.docker.com/  点击标题,在下面选出需要的版本号拉取镜像 dockerpullmysql:8.0 ......