Compare commits
4
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
241a4fbe38 | ||
|
|
d9931bd74b | ||
|
|
9aafaa623a | ||
|
|
f6a873c954 |
@@ -1,2 +0,0 @@
|
||||
FROM nginx:1.19
|
||||
COPY index.html /usr/share/nginx/html/index.html
|
||||
@@ -1,107 +0,0 @@
|
||||
# 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
|
||||
```
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,33 @@
|
||||
# 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
|
||||
```
|
||||
@@ -0,0 +1,43 @@
|
||||
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:
|
||||
@@ -1,5 +0,0 @@
|
||||
<html>
|
||||
<title>Hello Docker</title>
|
||||
<p>Hello le Garage numerique!</p>
|
||||
</html>
|
||||
|
||||
@@ -0,0 +1,39 @@
|
||||
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