CarBar / DockerDemo

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Create and run a core api project

http://slides.com/carterbarnes/innovating-development-and-infrastructure-using-docker-containers#/

Demo 1 : Cli

Start dotnet container and build a webapi template in it.

  1. mkdir Demo1
  2. cd Demo1
  3. docker run -p 8000:5000 -v ${PWD}:/app -e "ASPNETCORE_URLS=http://+:5000" -it --rm microsoft/dotnet
  4. cd app
  5. dotnet new webapi
  6. dotnet restore
  7. dotnet run
  8. http://localhost:8000/api/values

Building a database

https://hub.docker.com/r/microsoft/mssql-server-linux/

  1. docker volume create DataDisk

  2. docker run -e 'ACCEPT_EULA=Y' -e 'SA_PASSWORD=Test@123' -p 1433:1433 -v DataDisk:/var/opt/mssql -d --name awesome_sql microsoft/mssql-server-linux

  3. Sql Server Management Studio

  4. Create AwesomeData

  5. Create some data

    CREATE TABLE AwesomeWords (
        id int IDENTITY(1,1) PRIMARY KEY,
        word varchar(256)
    );
    
    GO
    
    INSERT INTO [dbo].[AwesomeWords]
              ([word])
        VALUES
              ('Awesome'),
              ('Great'),
              ('Fabulous'),
              ('Spectacular')
    
    GO

Demo 2 : Dockerfile

Make a dockerfile to start this container.

  1. Dockerfile

    FROM microsoft/dotnet
    
    WORKDIR /app
    
    COPY . .
    
    RUN ["dotnet", "restore"]
    RUN ["dotnet", "build"]
    
    EXPOSE 5000/tcp
    ENV ASPNETCORE_URLS http://*:5000
    
    ENTRYPOINT ["dotnet", "run"]
  2. docker build -t carbar/awesome:dockerdemo .

  3. docker run -d -p 8000:5000 -t carbar/awesome:dockerdemo

  4. http://localhost:8000/api/values

Building a network

  1. docker network create --driver bridge awesome_network
  2. Use --net= in your docker run commands to add containers to the network.

Docker-Compose

About


Languages

Language:C# 100.0%