# sessió 02 - docker
alternatives per no fer servir docker http i docker ftp (moltes - trie simplificar: demo d'arranc dels dos serveis i edició del fitxer de configuració)
- [server ftp](https://hub.docker.com/r/fauria/vsftpd/)
- [client ftp](https://github.com/jlesage/docker-filezilla)
- [sessio_proj02](https://bit.ly/35hrd7K)
# referència
https://hub.docker.com/_/httpd
```bash
# atenció que els oficials no porten el nom de l'usuari al davant!!
docker run -dit --name apache_01 httpd:2.4
docker run -dit --name apache_02 -p 8080:80 httpd:2.4
docker run -dit --name apache_03 -p 8080:80 -v "$PWD":/usr/local/apache2/htdocs/ httpd:2.4
docker run -dit --name apache_04 -p 8080:80 -v "$PWD":/usr/local/apache2/htdocs/ httpd:2.4-alpine
# operacions
- engegar
- intervenció interactiva
- aturar
- reiniciar/eliminar
## abans d'executar res
docker ps
docker ps -a
## comencem pel principi!!
docker run -dit --name apache_01 httpd:2.4
## i comprovem si està viu
docker ps
## comprovar quins port tenim a l'escolta
ss -ltn
## ajuda de l'ordre d'execució d'ordres a un contenidor
docker exec
## hola i adeu (andreu)!
docker exec apache_01 bash
## ara ja puc fer alguna cosa
docker exec -it apache_01 bash
## ^^ ostres un linux "live"
## creem comptes (...i assignem contrassenya (sols amb finalitat educativa de canvi d'un usuari a un altre dins del container)
docker exec -it apache_01 useradd -m -s /bin/bash alumne
echo root:toortoor | docker exec -i apache_01 chpasswd
echo alumne:alumne | docker exec -i apache_01 chpasswd
## me connecto al contenidor amb un compte concret
docker exec -u alumne -it apache_01 bash
# LOGS i INFO
## quina sortida genera l'apache?
docker logs apache_01
## quina informació completa me pot oferir el servidor de docker respecte al container que hem creat?
docker inspect apache_01
## quan me canse de tindre el servidor en marxa...
docker stop apache_01
docker ps
docker ps -a
# ... i si fins i tot no vull la instà ncia en memòria secundà ria
docker rm apache_01
docker ps
docker ps -a
## comprovem que tot torna a funcionar
docker run -dit --name apache_01 httpd:2.4
curl 172.17.0.2