Versão avaliada: Debian 10 (Buster) + Docker-CE
https://kubernetes.academy/courses?view=list
https://imasters.com.br/cloud/local-docker-images-no-minikube
*
https://gist.github.com/carlosedp/0e72aab68c89ca5accc6ad9c14d11a87
#!/bin/bash
echo "Container Linux installation script"
echo "This will install:"
echo " - Docker Community Edition"
echo " - Docker Compose"
echo " - Kubernetes: kubeadm, kubelet and kubectl"
echo ""
set -xeo pipefail
apt-get update -y
apt-get install -y \
apt-transport-https \
ca-certificates \
curl \
software-properties-common
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | apt-key add -
add-apt-repository \
"deb https://download.docker.com/linux/$(. /etc/os-release; echo "$ID") \
$(lsb_release -cs) \
stable"
curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | apt-key add -
cat <<EOF >/etc/apt/sources.list.d/kubernetes.list
deb http://apt.kubernetes.io/ kubernetes-xenial main <- https://packages.cloud.google.com/apt/dists tem para buster
EOF
apt-get update -y
apt-get install -y docker-ce docker-compose kubelet kubeadm kubectl
https://kubernetes.io/docs/setup/production-environment/tools/kubeadm/install-kubeadm/
apt-get update && apt-get install -y apt-transport-https curl
curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | apt-key add -
cat <<EOF >/etc/apt/sources.list.d/kubernetes.list
deb https://apt.kubernetes.io/ kubernetes-xenial main <- https://packages.cloud.google.com/apt/dists tem para buster
EOF
apt-get update
apt-get install -y kubelet kubeadm kubectl
apt-mark hold kubelet kubeadm kubectl
https://gist.github.com/apokalyptik/99cefb3d2e16b9b0c3141e222f3267db
https://medium.com/faun/kubernetes-vs-docker-swarm-whos-the-bigger-and-better-53bbe76b9d11
COMPOSE
http://semonkey.com/2018-08-23-teampass.html
https://www.linode.com/docs/applications/containers/how-to-use-docker-compose/
## ARQUIVO DE MANIFESTO - COMPOSE
$ vim docker-compose.yml
version: "3.3"
services:
nomeservico2:
image: nginx/nginx
container_name: "Nginx 2"
ports: "9080:9080"
nginx-php:
web:
image: nginx:latest
container_name: "Nginx-PHP"
ports: "9081:9081"
? links:
? - php
? php:
? image: php:7-fpm
mariadb:
image: mariadb/mariadb
container_name: "Mariadb servico Nginx-PHP"
ports: "3306:3306"
ldap_url: 10.0.0.48:3268
ldap_username: domain\binddnldap
ldap_password: Senha
ldap_basedn: dc=domain,dc=com,dc=br
ldap_username_att: sAMAccountName
ldap_filter: (memberOf=CN=GG_ALLOW_PORTAINER,OU=Groups,DC=domain,DC=com,DC=br)
$ docker-compose up -d --force-recreate <- Start service container in backgroud e e recreate all containers - https://docs.docker.com/compose/reference/up/
$ docker-compose ps <- Show running container
$ docker-compose rm <- Destroy container
https://docs.docker.com/compose/compose-file/
http://semonkey.com/2018-08-23-teampass.html
Save docker-compose.yml
db:
image: mysql
volumes:
- ~/database/:/var/lib/mysql <- grava na em um diretorio fora e quando recriado busca deste local
environment:
- MYSQL_ROOT_PASSWORD=teste123
ports:
- 3306:3306
blog:
image: wordpress
environment:
- WORDPRESS_DB_PASSWORD=teste123
links:
- db:mysql
ports:
- 80:80
# docker-compose up -d
- Alternativa para os comandos acima
Save docker-compose.yml
db:
image: mysql
environment:
- MYSQL_ROOT_PASSWORD=teste123
ports:
- 3306:3306
blog:
image: wordpress
environment:
- WORDPRESS_DB_PASSWORD=teste123
links:
- db:mysql
ports:
- 80:80
# docker-compose up
# docker-compose up -d <- Com esta opcao suprime os logs
# docker-compose ps
# docker-compose kill
# docker-compose rm
* Docker File
https://brunoizidorio.com.br/docker-criando-dockerfiles/
http://flaviosilveira.com/2017/criando-seu-container-com-dockerfile/
## DOCKER FILE
* Save Dockerfile
FROM <IMAGEM>
RUN apt-get update && apt-get install -y apache2
EXPOSE 80
CMD ["/usr/sbin/apache2ctl","-D","FOREGROUND"]
# docker build -t ubuntu/apache .Dockerfile
# docker images
## DOCKER APP
# mkdir app
# touch index.html
# echo "<h1>HELLO WORLD!!!</h1>" > index.html
# touch database.config
- DOCKER FILE
FROM <IMAGEM>
RUN apt-get update && apt-get install -y apache2
ADD app/ /var/www/html
COPY app/ /var/www/html/app
EXPOSE 80
CMD ["/usr/sbin/apache2ctl","-D","FOREGROUND"]
# docker build -t ubuntu/apache .Dockerfile
# docker images
# docker ps
# docker kill <NOME CONTAINER>
# docker run -d -p 80:80 ubuntu/apache
# docker ps
# docker exec -it <NOME CONTAINER> ls /var/www/html
- Save criar.blog.sh
#!/bin/bash
docker run --name mysql -e MYSQL_ROOT_PASSWORD=teste123 -d mysql
docker run --name blog -p 80:80 -d --link mysql:mysql wordpress
# docker run --name mysql -e MYSQL_ROOT_PASSWORD=teste123 -p 3306:3306 -d mysql
# docker inspect mysql <- pegar o ip
# docker run --rm -it ubuntu bash
ping <IP mysql>
### LINK
# docker run --rm --link mysql:db -it ubuntu bash
### IMAGEM CONFIGURADA
# docker run -it -v $(pwd):/tmp ubuntu bash <- cria um volume entre o host e o container
# docker run --rm -it -v $(pwd):/tmp ubuntu bash