https://github.com/tandohanthonynwiackah/myddapi
Intro to deploying my Donet Core API with Docker.
https://github.com/tandohanthonynwiackah/myddapi
doc docker dockerfile dotnet
Last synced: about 2 months ago
JSON representation
Intro to deploying my Donet Core API with Docker.
- Host: GitHub
- URL: https://github.com/tandohanthonynwiackah/myddapi
- Owner: TandohAnthonyNwiAckah
- Created: 2021-11-23T15:36:19.000Z (over 4 years ago)
- Default Branch: main
- Last Pushed: 2021-11-24T09:06:53.000Z (over 4 years ago)
- Last Synced: 2025-04-22T15:51:11.529Z (about 1 year ago)
- Topics: doc, docker, dockerfile, dotnet
- Language: C#
- Homepage: https://hub.docker.com/repository/docker/tanacom/myddapi
- Size: 60.5 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# MY DOTNET CORE DOCKER API (MyDDAPI)
Intro to deploying my Donet Core API with Docker.
Docker is a software platform that allows you to ```build,test and deploy``` applications quickly.
## WHY DOCKER ?
- It lets you ship code faster and get a single object that can reliably ````run anywhere````.
- It also occupy less space and very easy to scale up.
It uses ```Client-Server architecture```. Docker packages software into standardized units called ```Containers``` that
have everything the software needs to run including libraries,system tools, code and runtime.
Docker Host is the machine running the Docker server.
## 4 MAIN COMPONENETS OF DOCKER
- ```Docker Client and Server```
- ```Docker Images ``` : is a template with instructions which is used for creating Docker Container.
It is built using the ```Docker File``` (text file which contains commands for building a Docker Image
) and stored in a Docker Hub or in a repository.
- ```Docker Container```
- ```Docker Registry``` : is an open source server-side service used for hosting and distributing images. The
default registry of docker is called ```DOCKER HUB```.
## TOOLS NEEDED FOR THIS PROJECT
- .NET Core SDK (I’m using 2.2)
- Text Editor or IDE (eg. VS CODE or VS STUDIO)
- Docker
## GETTING STARTED.
- Create a globaljson in the root of the project
> ```dotnet new globaljson```
- Select the Dotnet version "2.2.100"
> ```dotnet -- version``` to see all versions installed
````
{
"sdk": {
"version": "2.2.100"
}
}
````
- Create new webapi in the same folder containing the globaljson
> ```dotnet new webapi```
- You can build and run to see the project working.
> ```dotnet run```
- Access it on locally on to view the api.
- Create Dockerfile if it doesn't exist
- Once the Dockerfile is created,run the command below
> ``` docker build -t tanacom/myddapi . ```
> Docker Hub ID\Project Name:Version
> ```tanacom``` here is my Docker Hub ID
> myddapi is my project name and should always be in ```lowercase```.
> we omitted the version here.you can should to add it.
> Place a space and ```period``` after the project name always .
Also, you don’t have to provide your Docker Hub ID in the name
but it’s useful if you’re pushing it up to the ```Docker Hub for deployment```.
- Type the command below to see your created docker image.
> ```docker images```
- Once we have our image created, we just run it with the command below.
> ```docker run -p 8080:80 tanacom/myddapi```
Image should now be running as a ```Container```! The only thing of note is the ```“-p”``` flag – this is a ```port-mapping```,
in this case it’s saying map ````port 8080 on my PC to port 80 ````of the container.
So to access the api, we need to use port 8080 as follows:
>
- To see all running container, run the below command
> ```docker ps```
- Install the Docker extension if using VS CODE, you can see running containers and perform tasks on it.
- Run the command below to stop the container in cmd
> ```docker stop ```
- Login to Docker Hub if already have account with them.
> ```docker login --username=tanacom```
> NB: ```tanacom``` here is my username.
- Once login, run the Docker push command to push to the Docker Hub
> ```docker push tanacom/myddapi```
> NB: ```myddapi``` here is my project name.
- Go to your ```Docker Hub``` to check your project.
Good to go.