| Line 35: |
Line 35: |
| | docker search kali | | docker search kali |
| | docker run -ti -v "/home/rafa/LocalPath:/ContainerPath" git.rra.lan:4443/docker/pilaf_testrunner/converter:latest /bin/bash # mounts local path folder on docker container | | docker run -ti -v "/home/rafa/LocalPath:/ContainerPath" git.rra.lan:4443/docker/pilaf_testrunner/converter:latest /bin/bash # mounts local path folder on docker container |
| | + | |
| | + | # Run container with name and volumes |
| | + | docker run -t -d -p 0.0.0.0:9980:9980 -e "server_name=owncloud\\.rra\\.lan" -v "/etc/collabora/certs:/etc/loolwsd/certs" -e "domain=owncloud\\.rra\\.lan" --restart always --cap-add MKNOD --name collabora collabora/code |
| | + | |
| | + | # View logs |
| | + | docker logs -f collabora |
| | | | |
| | docker images | | docker images |
| Line 40: |
Line 46: |
| | | | |
| | # Remove all containers | | # Remove all containers |
| − | docker rm $(docker ps -aq) | + | docker kill $(docker ps -q) && docker rm $(docker ps -aq) |
| | | | |
| | # Remove one image | | # Remove one image |
| Line 46: |
Line 52: |
| | # Remove incompletely built images: | | # Remove incompletely built images: |
| | docker images | grep -v IMAGE\ ID | awk '{print "docker rmi " $3;}'</source> | | docker images | grep -v IMAGE\ ID | awk '{print "docker rmi " $3;}'</source> |
| | + | |
| | + | ==Docker container root shell== |
| | + | <syntaxhighlight lang="bash"> |
| | + | docker exec -u 0 -it cranky_neumann /bin/bash |
| | + | </syntaxhighlight> |
| | | | |
| | =Restart stopped container with diferent command= | | =Restart stopped container with diferent command= |
| Line 135: |
Line 146: |
| | ==Dockerfile reference== | | ==Dockerfile reference== |
| | https://docs.docker.com/engine/reference/builder/ | | https://docs.docker.com/engine/reference/builder/ |
| | + | |
| | + | ==Docker custom registry== |
| | + | <code>docker run --rm -v test-volume:/contents registry.roqs.basf.net/base-images/alpine ls /</code> |
| | + | |
| | + | <br /> |
| | + | |
| | + | ==Docker-compose== |
| | + | ===Use this docker compose to run the project locally=== |
| | + | |
| | + | *To start all services: |
| | + | |
| | + | <code>docker-compose up --build --remove-orphans --detach</code> |
| | + | |
| | + | *To restart only one service: |
| | + | |
| | + | <code>docker-compose up --build --remove-orphans --detach <service_name></code> |
| | + | |
| | + | *To stop one service: |
| | + | |
| | + | <code>docker-compose stop <service_name></code> |
| | + | |
| | + | *To stop all services: |
| | + | |
| | + | <code>docker-compose down</code> |
| | + | |
| | + | *To view logs of a service: |
| | + | |
| | + | <code>docker-compose logs -f <service_name></code> |
| | + | |
| | + | *To view logs of all services: |
| | + | |
| | + | <code>docker-compose logs -f</code> |
| | + | |
| | + | === docker-compose.yml example for multiple services === |
| | + | <syntaxhighlight lang="yaml"> |
| | + | |
| | + | version: '3.8' |
| | + | |
| | + | services: |
| | + | postgres: |
| | + | image: postgres:14.13 |
| | + | environment: |
| | + | POSTGRES_DB: mydatabase |
| | + | POSTGRES_USER: myuser |
| | + | POSTGRES_PASSWORD: mypassword |
| | + | volumes: |
| | + | - postgres_data:/var/lib/postgresql/data |
| | + | ports: |
| | + | - "5432:5432" |
| | + | |
| | + | redis: |
| | + | image: redis:latest |
| | + | ports: |
| | + | - "6379:6379" |
| | + | |
| | + | celery: |
| | + | build: |
| | + | context: . |
| | + | dockerfile: Dockerfile |
| | + | environment: |
| | + | DJANGO_SETTINGS_MODULE: app.settings |
| | + | REDIS_HOST: redis |
| | + | DB_HOST: postgres |
| | + | DB_PORT: 5432 |
| | + | DB_NAME: mydatabase |
| | + | DB_USER: myuser |
| | + | DB_PASSWORD: mypassword |
| | + | |
| | + | volumes: |
| | + | - .:/app |
| | + | - ./media:/app/media |
| | + | working_dir: /app |
| | + | command: celery -A app worker --loglevel=info |
| | + | depends_on: |
| | + | - postgres |
| | + | - redis |
| | + | |
| | + | flower: |
| | + | build: |
| | + | context: . |
| | + | dockerfile: Dockerfile |
| | + | environment: |
| | + | DJANGO_SETTINGS_MODULE: app.settings |
| | + | DB_HOST: postgres |
| | + | DB_NAME: mydatabase |
| | + | DB_USER: myuser |
| | + | DB_PASSWORD: mypassword |
| | + | REDIS_HOST: redis |
| | + | volumes: |
| | + | - .:/app |
| | + | - ./media:/app/media |
| | + | working_dir: /app |
| | + | command: celery -A app flower --loglevel=info --basic-auth=admin:admin |
| | + | depends_on: |
| | + | - postgres |
| | + | - redis |
| | + | ports: |
| | + | - "5555:5555" |
| | + | |
| | + | django: |
| | + | build: |
| | + | context: . |
| | + | dockerfile: Dockerfile |
| | + | environment: |
| | + | DJANGO_SETTINGS_MODULE: app.settings |
| | + | REDIS_HOST: redis |
| | + | DB_HOST: postgres |
| | + | DB_PORT: 5432 |
| | + | DB_NAME: mydatabase |
| | + | DB_USER: myuser |
| | + | DB_PASSWORD: mypassword |
| | + | volumes: |
| | + | - .:/app |
| | + | - ./media:/app/media |
| | + | working_dir: /app |
| | + | command: python3 manage.py runserver 0.0.0.0:8000 |
| | + | depends_on: |
| | + | - postgres |
| | + | - redis |
| | + | ports: |
| | + | - "8000:8000" |
| | + | |
| | + | volumes: |
| | + | postgres_data: |
| | + | driver: local |
| | + | |
| | + | </syntaxhighlight><br /> |