Ticker

6/recent/ticker-posts

How to use Docker, various examples, share data and network, configure Dockfile.

Downloads the image and run it.

 docker run ubuntu

Run in background

 docker run -d ubuntu 

 

Downloads the image, but  does not the run it.

docker pull  ubuntu 


List the images downloaded

docker images 

 

List the images the be running.

docker ps


docker ps -a

Start container with data previous.

docker start ID 

 

Show logs container.

docker logs ID


docker logs ID -f

 

Execute command inside a container, -it session interactive and emulate terminal .

docker exec -it ID sh

or

docker exec -it  ID /bin/bash

 

Stop container

docker stop ID

 

Delete Container

docker rm ID 

 

Delete Container with Volumes

docker rm ID -fv 


List Volumes 

docker volume ls

Delete all volumes 

docker volume prune



Generate Docker File

-------------------------------------------------------------------------------------

FROM

WORKDIR /app

COPY . . 

RUN npm install

 CMD ["node", "/app/src/index.js"]

-------------------------------------------------------------------------------------

Build image.

docker build -t node-myapp .

  

Run image builded.

docker run -pd 3000:3000 node-myapp

 

Run image share data with container.

docker run -pd 3000:3000 -v /localdir/app/src:/app/src node-myapp

 

Save changes in the image.
docker build -t node-myapp:v2 .

 

Share network between both containers. 

 docker run -dp 3000:3000 --network myapp-net -e MYSQL_HOST=mysql -e MYSQL_USER=root -e MYSQL_PASSWORD=secret -e MYSQL_DB=myapp-db node-myapp:v2

docker run -d --network myapp-net --network-alias mysql -v todo-mysql-data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=secret -e MYSQL_DATABASE=myapp-db mysql:5.7

 

Docker Compose.

-----------------------------------------------------------

version: "3.7"


services:

#docker run -dp 3000:3000 --network myapp-net -e MYSQL_HOST=mysql -e MYSQL_USER=root -e MYSQL_PASSWORD=secret -e MYSQL_DB=myapp-db node-myapp:v2

app:
image: usernamedocker/node-myapp:v2
ports:
- 3000:3000
environment:
MYSQL_HOST: mysql
MYSQL_USER: root
MYSQL_PASSWORD: secret
MYSQL_DB: myapp-db

# docker run -d --network myapp-net --network-alias mysql -v todo-mysql-data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=secret -e MYSQL_DATABASE=myapp-db mysql:5.7

mysql:
image: mysql:5.7
volumes:
- ./todo-mysql-data:/var/lib/mysql
environment:
MYSQL_ROOT_PASSWORD: secret
MYSQL_DATABASE: myapp-db
version: "3.7"

-----------------------------------------------------------

 

Build images and run background.

docker-compose up -d

Reacciones:

Post a Comment

0 Comments