getting started:
https://hub.docker.com/?overlay=onboarding
Fichier Dockerfile qui contient les instructions pour monter l'image https://docs.docker.com/engine/reference/builder/
exemple :
FROM node:6.11.5
WORKDIR /usr/src/app
COPY package.json .
RUN npm install
COPY . .
CMD [ "npm", "start" ]
Ensuite on créé l'image:
> docker image build -t bulletinboard:1.0 .
Ensuite on créé le container à partir de cette image :
> docker container run --publish 8000:8080 --detach --name bb bulletinboard:1.0
* --publish 8000:8080 : Port du host = 8000, on forward vers le port 8080 du container
* --detach pour lancer le container en background
* --name pour réutiliser par la suite dans les commandes
Puis pour suprimer le container:
docker container rm --force bb
docker-compose run
-d : detached (pour lancer le conteneur en background
-P : Publish all exposed ports to the host interfaces
-p=[] Publish a container's port or a range of ports to the host
format: ip:hostPort:containerPort | ip::containerPort | hostPort:containerPort | containerPort
--name
Lister les volumes :
docker volume ls -f dangling=true
Supprimer un volume :
docker volume rm
Lancer docker :
docker-compose up --build
Afficher les injectables :
php bin/console debug:autowiring
php bin/console debug:autowiring log (pour rechercher ceux qui matchent "log")
[[https://docs.docker.com/get-started/part3/]]
Ensuite pour lancer Kubernetes:
Créer le fichier bb.yaml au même endroit:
apiVersion: apps/v1
kind: Deployment
metadata:
name: bb-demo
namespace: default
spec:
replicas: 1
selector:
matchLabels:
bb: web
template:
metadata:
labels:
bb: web
spec:
containers:
- name: bb-site
image: bulletinboard:1.0
---
apiVersion: v1
kind: Service
metadata:
name: bb-entrypoint
namespace: default
spec:
type: NodePort
selector:
bb: web
ports:
- port: 8080
targetPort: 8080
nodePort: 30001
> kubectl apply -f bb.yaml
Pour voir si tout s'est bien passé:
> kubectl get deployments
> kubectl get services
Ensuite pour supprimer :
> kubectl delete -f bb.yaml