Skip to content

MBaranekTech/Docker

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

6 Commits
Β 
Β 

Repository files navigation

🐳 Docker & Containerization

πŸ”„ A platform to develop, ship, and run applications in containers, making them portable and consistent across environments.
πŸ”„ Containers: Running instances of Docker images. Think of them as lightweight, isolated environments.
πŸ”„ Dockerfile: A script with instructions to build Docker images (e.g., from Ubuntu, install packages, copy code, etc.).
πŸ”„ Docker Compose: A tool to define and manage multi-container apps using docker-compose.yml.
πŸ”„ Networking: Docker provides isolated virtual networks; containers can communicate using service names.


docker

βœ… Common Docker Commands

# Run a container
docker run -d -p 8080:80 nginx

# Build image from Dockerfile
docker build -t myapp .

# List running containers
docker ps

# Start/stop containers
docker start <id> && docker stop <id>

# Remove container/image
docker rm <id> && docker rmi <image>

🐳 NextCloud powered by Docker

  1. Install Server - I am using Hyper-V and Ubuntu Server LTS
  2. Install updates
  3. Install Docker and set running docker without sudo (avoiding using sudo with every docker command)
    sudo usermod -aG docker $USER
    The docker group is created automatically during the Docker installation.
  4. Install Docker Compose sudo apt install -y docker-compose
  5. mkdir nextcloud-docker
  6. cd nextcloud-docker
  7. Create a docker-compose.yml file:
version: '3'

services:
  db:
    image: mariadb:10.6
    restart: always
    command: --transaction-isolation=READ-COMMITTED --binlog-format=ROW
    volumes:
      - db:/var/lib/mysql
    environment:
      - MYSQL_ROOT_PASSWORD=secret
      - MYSQL_PASSWORD=nextcloudpass
      - MYSQL_DATABASE=nextcloud
      - MYSQL_USER=nextclouduser

  app:
    image: nextcloud
    ports:
      - 8080:80
    links:
      - db
    volumes:
      - nextcloud:/var/www/html
    restart: always
    environment:
      - MYSQL_PASSWORD=nextcloudpass
      - MYSQL_DATABASE=nextcloud
      - MYSQL_USER=nextclouduser
      - MYSQL_HOST=db

volumes:
  db:
  nextcloud:
  1. docker-compose up -d
  2. http://your-server-ip:8080

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published