Compare commits
1
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
21738aa5cc |
@@ -0,0 +1,2 @@
|
|||||||
|
FROM nginx:1.19
|
||||||
|
COPY index.html /usr/share/nginx/html/index.html
|
||||||
@@ -0,0 +1,107 @@
|
|||||||
|
# DOCKER
|
||||||
|
|
||||||
|
Une simple Dockerfile contenant un NGINX 1.19 pouvant accueillir un site web.
|
||||||
|
|
||||||
|
## PROCESSUS
|
||||||
|
|
||||||
|
### INSTALLATION DE DOCKER (DEBIAN 10):
|
||||||
|
|
||||||
|
```bash
|
||||||
|
sudo apt-get update
|
||||||
|
|
||||||
|
sudo apt-get install \
|
||||||
|
apt-transport-https \
|
||||||
|
ca-certificates \
|
||||||
|
curl \
|
||||||
|
gnupg \
|
||||||
|
lsb-release
|
||||||
|
|
||||||
|
curl -fsSL https://download.docker.com/linux/debian/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
|
||||||
|
|
||||||
|
echo \
|
||||||
|
"deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/debian \
|
||||||
|
$(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
|
||||||
|
|
||||||
|
sudo apt-get update
|
||||||
|
|
||||||
|
sudo apt-get install docker-ce docker-ce-cli containerd.io -y
|
||||||
|
```
|
||||||
|
|
||||||
|
### CREER UN COMPTE SUR DOCKER HUB:
|
||||||
|
|
||||||
|
https://hub.docker.com
|
||||||
|
|
||||||
|
* clonage du repo Docker:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
sudo git clone https://github.com/GregLebreton/docker.git
|
||||||
|
```
|
||||||
|
|
||||||
|
### CONSTRUCTION DE L'IMAGE:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
docker build .
|
||||||
|
```
|
||||||
|
|
||||||
|
### TAG DE L'IMAGE:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
docker tag <ID_de_l'image> <nom_de_votre_registre>/<nom_de_l'image>:<tag>
|
||||||
|
```
|
||||||
|
|
||||||
|
* ou on peux tagger l'image lors du docker run:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
docker run -d -p 80:80 -t <nom_de_l_image_docker>:<tag_de_l_image>
|
||||||
|
```
|
||||||
|
|
||||||
|
### DEMARRER UN CONTENAIRE DE L'IMAGE EN Y MAPPANT LE PORT 80 DE LA MACHINE HÔTE:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
docker run -d -p 7000:80 <nom_de_votre_registre>/<nom_de_l'image>:<tag>
|
||||||
|
```
|
||||||
|
|
||||||
|
### VISITER SON NAVIGATEUR A L'ADRESSE:
|
||||||
|
|
||||||
|
http://localhost:7000
|
||||||
|
|
||||||
|
### TIPS:
|
||||||
|
|
||||||
|
* Docker sans sudo:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
sudo groupadd -f docker
|
||||||
|
sudo chown root:docker /var/run/docker.sock
|
||||||
|
sudo usermod -a -G docker "$(whoami)"
|
||||||
|
newgrp docker
|
||||||
|
sudo systemctl restart docker
|
||||||
|
```
|
||||||
|
|
||||||
|
* Autres commandes utiles:
|
||||||
|
|
||||||
|
- push un conteneur sur son registre DockerHub:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
docker push
|
||||||
|
```
|
||||||
|
- afficher les images docker:
|
||||||
|
```bash
|
||||||
|
docker ps
|
||||||
|
```
|
||||||
|
- afficher les containers docker:
|
||||||
|
```bash
|
||||||
|
docker ls
|
||||||
|
```
|
||||||
|
- Effacer une image:
|
||||||
|
```bash
|
||||||
|
docker rmi
|
||||||
|
```
|
||||||
|
- Effacer un conteneur:
|
||||||
|
```bash
|
||||||
|
docker rm
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -1,33 +0,0 @@
|
|||||||
# DOCKER REGISTRE AVEC UI
|
|
||||||
|
|
||||||
Ce projet a pour but d'instancier un registre Docker sécurisé par mot de passe et
|
|
||||||
accessible via une UI. Votre Docker Hub!
|
|
||||||
|
|
||||||
### CREATION D'UN PASSWORD:
|
|
||||||
|
|
||||||
Ici, remplacer testuser et testpassword par le nom d'utilisateur et le mot de passe désiré.
|
|
||||||
```sh
|
|
||||||
sudo apt-get install apache2-utils
|
|
||||||
htpasswd -Bbn testuser testpassword > registry-config/htpasswd
|
|
||||||
```
|
|
||||||
|
|
||||||
### LANCER LA STACK
|
|
||||||
```sh
|
|
||||||
docker-compose up -d
|
|
||||||
```
|
|
||||||
|
|
||||||
### SE CONNECTER A L'ADRESSE:
|
|
||||||
http://locahost:8087
|
|
||||||
|
|
||||||
### POUSSER UNE IMAGE:
|
|
||||||
|
|
||||||
Login au docker registry (nécessaire une fois):
|
|
||||||
```sh
|
|
||||||
docker login localhost:5000
|
|
||||||
```
|
|
||||||
|
|
||||||
Entrer l'utilisateur et le mot de passe créés plus tôt, puis:
|
|
||||||
```sh
|
|
||||||
docker tag localhost/mon_image:tag
|
|
||||||
docker push localhost/mon_image:tag
|
|
||||||
```
|
|
||||||
@@ -1,43 +0,0 @@
|
|||||||
version: '3.8'
|
|
||||||
|
|
||||||
services:
|
|
||||||
registry-ui:
|
|
||||||
image: joxit/docker-registry-ui:main
|
|
||||||
container_name: registry-ui
|
|
||||||
restart: always
|
|
||||||
ports:
|
|
||||||
- 8087:80
|
|
||||||
environment:
|
|
||||||
- SINGLE_REGISTRY=true
|
|
||||||
- REGISTRY_TITLE=Docker Registry UI
|
|
||||||
- DELETE_IMAGES=true
|
|
||||||
- SHOW_CONTENT_DIGEST=true
|
|
||||||
- NGINX_PROXY_PASS_URL=http://registry:5000
|
|
||||||
- SHOW_CATALOG_NB_TAGS=true
|
|
||||||
- CATALOG_MIN_BRANCHES=1
|
|
||||||
- CATALOG_MAX_BRANCHES=1
|
|
||||||
- TAGLIST_PAGE_SIZE=100
|
|
||||||
- REGISTRY_SECURED=false
|
|
||||||
- CATALOG_ELEMENTS_LIMIT=1000
|
|
||||||
networks:
|
|
||||||
- registry-ui-net
|
|
||||||
|
|
||||||
registry:
|
|
||||||
image: registry:2.8.2
|
|
||||||
container_name: registry
|
|
||||||
restart: always
|
|
||||||
environment:
|
|
||||||
REGISTRY_HTTP_HEADERS_Access-Control-Origin: '[http://registry.example.com]'
|
|
||||||
REGISTRY_HTTP_HEADERS_Access-Control-Allow-Methods: '[HEAD,GET,OPTIONS,DELETE]'
|
|
||||||
REGISTRY_HTTP_HEADERS_Access-Control-Credentials: '[true]'
|
|
||||||
REGISTRY_HTTP_HEADERS_Access-Control-Allow-Headers: '[Authorization,Accept,Cache-Control]'
|
|
||||||
REGISTRY_HTTP_HEADERS_Access-Control-Expose-Headers: '[Docker-Content-Digest]'
|
|
||||||
REGISTRY_STORAGE_DELETE_ENABLED: 'true'
|
|
||||||
volumes:
|
|
||||||
- ./registry/data:/var/lib/registry
|
|
||||||
- ./registry/config:/etc/docker/registry
|
|
||||||
networks:
|
|
||||||
- registry-ui-net
|
|
||||||
|
|
||||||
networks:
|
|
||||||
registry-ui-net:
|
|
||||||
@@ -0,0 +1,5 @@
|
|||||||
|
<html>
|
||||||
|
<title>Hello Docker</title>
|
||||||
|
<p>Hello le Garage numerique!</p>
|
||||||
|
</html>
|
||||||
|
|
||||||
@@ -1,39 +0,0 @@
|
|||||||
version: 0.1
|
|
||||||
log:
|
|
||||||
fields:
|
|
||||||
service: registry
|
|
||||||
storage:
|
|
||||||
delete:
|
|
||||||
enabled: true
|
|
||||||
cache:
|
|
||||||
blobdescriptor: inmemory
|
|
||||||
filesystem:
|
|
||||||
rootdirectory: /var/lib/registry
|
|
||||||
maintenance:
|
|
||||||
uploadpurging:
|
|
||||||
enabled: true
|
|
||||||
age: 168h
|
|
||||||
interval: 24h
|
|
||||||
dryrun: false
|
|
||||||
readonly:
|
|
||||||
enabled: false
|
|
||||||
http:
|
|
||||||
addr: :5000
|
|
||||||
headers:
|
|
||||||
X-Content-Type-Options: [nosniff]
|
|
||||||
Access-Control-Allow-Origin: ['http://127.0.0.1:8000']
|
|
||||||
Access-Control-Allow-Credentials: [true]
|
|
||||||
Access-Control-Allow-Methods: ['HEAD', 'GET', 'OPTIONS', 'DELETE']
|
|
||||||
Access-Control-Allow-Headers: ['Authorization', 'Accept', 'Cache-Control']
|
|
||||||
Access-Control-Max-Age: [1728000]
|
|
||||||
Access-Control-Allow-Credentials: [true]
|
|
||||||
Access-Control-Expose-Headers: ['Docker-Content-Digest']
|
|
||||||
auth:
|
|
||||||
htpasswd:
|
|
||||||
realm: basic-realm
|
|
||||||
path: /etc/docker/registry/htpasswd
|
|
||||||
health:
|
|
||||||
storagedriver:
|
|
||||||
enabled: true
|
|
||||||
interval: 10s
|
|
||||||
threshold: 3
|
|
||||||
Reference in New Issue
Block a user