Dies ist eine mobil optimierte Seite, die schnell lädt. Wenn Sie die Seite ohne Optimierung laden möchten, dann klicken Sie auf diesen Text.

Portals

Das Dockerfile wird zur Installation für das Dockerimage gebraucht das sind comands etc. drinne! Das eben die Umgebung gebaut werden kann!
Das komische ist halt das er es angeblich nicht findet obwohl es da ist der würde das nämlich dann in das Image laden und dann in der "neuen" Umgebung ausführen macht er aber nicht weil er nichts findet
 
Code:
neu: docker build -t $BASE_IMAGE -f "./$DOCKERFILE_CHOICE" .
alt: docker build -t $BASE_IMAGE -f "$DOCKERFILE_CHOICE" .
 
Hatte ich auch schon probiert weil ich gelesen habe ./ und gerade sogar den direkten Pfad eingegeben der Dockerdatei selbes Spiel:

ERROR: resolve : lstat tmp: no such file or directory
Error: Docker image build failed. Please check the Dockerfile.

Seltsam nur Das ich es gestern auf den selben System installiert habe ohne Probleme aber mit einer älteren Version dennoch...


Es geht aber nur wenn du das hier machst:

docker build -t $BASE_IMAGE -f "/tmp/docker24101/Dockerfile_for_64bit_Raspi" .
Also direkt verzeichnest aber dann hängt er hier:

Enter your choice (1/2/3): 2
Enter the name for the docker image to use: p2
Enter the port number to use for the server: 8081
Enter the folder path to use for mounting (e.g., /path/to/config): /home/p2
** Setting ownership to www-data and permissions to 755 recursively for /home/ p2/servermanager/p2 **
Base image portalsbase1 not found locally. Building the base image using Dockerf ile: Dockerfile_for_64bit_Raspi...
[+] Building 1.9s (8/12) docker:default
=> [internal] load build definition from Dockerfile_for_64bit_Raspi 0.0s
=> => transferring dockerfile: 2.13kB 0.0s
=> [internal] load metadata for docker.io/arm64v8/ubuntu:22.04 0.9s
=> [internal] load .dockerignore 0.1s
=> => transferring context: 2B 0.0s
=> CACHED [1/8] FROM docker.io/arm64v8/ubuntu:22.04@sha256:299378f154a19 0.0s
=> [internal] load build context 0.1s
=> => transferring context: 2B 0.0s
=> CANCELED [2/8] RUN ln -snf /usr/share/zoneinfo/Europe/Berlin /etc/loc 0.7s
=> CACHED [3/8] RUN apt-get update && apt-get install -y --no-instal 0.0s
=> ERROR [4/8] COPY root/ / 0.0s
------
[4/8] COPY root/ /:
------
Dockerfile_for_64bit_Raspi:44
--------------------
42 |
43 | # Copy local files
44 | >>> COPY root/ /
45 |
46 | # Set permissions for s6-overlay
--------------------
ERROR: failed to solve: failed to compute cache key: failed to calculate checksu m of ref ca71b025-5eb8-45dd-b7c7-657ee7c3704d::lh24ht8i9qi50b5fc6gk19nuc: "/root ": not found
Error: Docker image build failed. Please check the Dockerfile.
 
Zuletzt bearbeitet:
Heute nicht mehr. Schaue ich morgen.
Dennoch mysteriös.
Bei mir läuft das ohne Hänger und Umwege durch.
 
Ich weiß nicht warum aber am Anfang lief es ja auch aber, ich denke durch ein paar Umgebungsupdates und so kann da schon was komisches passieren. Ich probiere noch ein wenig dann ist aber auch Schluss für heute
 
Teste mal hiermit:

Code:
#!/bin/bash

# Get the absolute path of the directory where the script is located
SCRIPT_DIR=$(dirname "$(readlink -f "$0")")

install_docker() {
    echo "Docker not found. Installing Docker..."
    sudo apt update
    sudo apt install -y apt-transport-https ca-certificates curl software-properties-common
    curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
    echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
    sudo apt update
    sudo apt install -y docker-ce docker-ce-cli containerd.io
    sudo usermod -aG docker "${USER}"
    echo "Docker installed successfully. Please log out and log back in to avoid needing sudo for Docker commands."
}

if ! command -v docker &> /dev/null; then
    install_docker
fi

check_container_name() {
    if [ "$(docker ps -aq -f name=$1)" ]; then
        read -p "Container with name '$1' already exists. Do you want to remove it and reuse the same image? (y/n): " choice
        if [ "$choice" == "y" ]; then
            echo "Stopping and removing existing container..."
            docker stop $1
            docker rm $1
        else
            echo "Cannot proceed with the existing container. Exiting."
            exit 1
        fi
    fi
}

check_port_usage() {
    CONTAINER_ID=$(docker ps -q -f publish=$1)
    if [ "$CONTAINER_ID" ]; then
        CONTAINER_NAME=$(docker ps --filter "id=$CONTAINER_ID" --format "{{.Names}}")
        read -p "Port $1 is already in use by container '$CONTAINER_NAME'. Do you want to stop and remove this container? (y/n): " choice
        if [ "$choice" == "y" ]; then
            echo "Stopping and removing container using port $1..."
            docker stop $CONTAINER_NAME
            docker rm $CONTAINER_NAME
            echo "$1"
        else
            read -p "Enter a new port number: " NEW_PORT
            echo "$NEW_PORT"
        fi
    else
        echo "$1"
    fi
}

build_docker_image() {
    BASE_IMAGE="portalsbase"
    if ! docker images | grep -q "$BASE_IMAGE"; then
        echo "Base image $BASE_IMAGE not found locally. Building the base image using Dockerfile: $DOCKERFILE_CHOICE..."
        docker build -t $BASE_IMAGE -f "$SCRIPT_DIR/$DOCKERFILE_CHOICE" "$SCRIPT_DIR"
        if [ $? -ne 0 ]; then
            echo "Error: Docker image build failed. Please check the Dockerfile."
            exit 1
        fi
        echo "Base image $BASE_IMAGE built successfully."
    fi
}

check_base_image() {
    BASE_IMAGE="portalsbase"
    if docker images | grep -q "$BASE_IMAGE"; then
        read -p "Base image '$BASE_IMAGE' already exists. Do you want to use it (y) or remove and rebuild (n)? (y/n): " choice
        if [ "$choice" == "n" ]; then
            CONTAINERS_USING_IMAGE=$(docker ps -a -q --filter "ancestor=$BASE_IMAGE")
            if [ "$CONTAINERS_USING_IMAGE" ]; then
                echo "Containers using the base image '$BASE_IMAGE' found:"
                docker ps -a --filter "ancestor=$BASE_IMAGE" --format "Container ID: {{.ID}}, Name: {{.Names}}, Status: {{.Status}}"
                read -p "Do you want to stop and remove all these containers? (y/n): " stop_choice
                if [ "$stop_choice" == "y" ]; then
                    echo "Stopping and removing containers..."
                    docker stop $CONTAINERS_USING_IMAGE
                    docker rm $CONTAINERS_USING_IMAGE
                    echo "All containers using the image '$BASE_IMAGE' have been stopped and removed."
                else
                    echo "Cannot proceed with removing the base image while containers are still using it."
                    exit 1
                fi
            fi
            docker rmi $BASE_IMAGE
        fi
    fi
}

echo "Select which Dockerfile to use:"
echo "1. Dockerfile_for_32bit_Raspi"
echo "2. Dockerfile_for_64bit_Raspi"
echo "3. Dockerfile_Linux"
read -p "Enter your choice (1/2/3): " DOCKERFILE_CHOICE

case $DOCKERFILE_CHOICE in
    1) DOCKERFILE_CHOICE="Dockerfile_for_32bit_Raspi" ;;
    2) DOCKERFILE_CHOICE="Dockerfile_for_64bit_Raspi" ;;
    3) DOCKERFILE_CHOICE="Dockerfile_Linux" ;;
    *) echo "Invalid choice. Exiting."; exit 1 ;;
esac

check_base_image

read -p "Enter the name for the docker image to use: " IMAGE_NAME
read -p "Enter the port number to use for the server: " PORT
read -p "Enter the folder path to use for mounting (e.g., /path/to/config): " BASE_FOLDER
CONTAINER_NAME="$IMAGE_NAME"

check_container_name $CONTAINER_NAME

PORT=$(check_port_usage $PORT)

# Construct the absolute path for folder creation using the base folder
FOLDER_PATH="${BASE_FOLDER}/servermanager/${IMAGE_NAME}"
if [ ! -d "${FOLDER_PATH}" ]; then
    echo "**** Creating folder at ${FOLDER_PATH} ****"
    mkdir -p "${FOLDER_PATH}"
    echo "**** Folder created at ${FOLDER_PATH} ****"
fi

echo "**** Setting ownership to www-data and permissions to 755 recursively for ${FOLDER_PATH} ****"
sudo chown -R www-data:www-data "${FOLDER_PATH}"
sudo chmod -R 755 "${FOLDER_PATH}"

build_docker_image

echo "**** Running Docker container on port $PORT with restart policy ****"
docker run -d -p $PORT:80 -v ${FOLDER_PATH}:/config --name $CONTAINER_NAME --restart unless-stopped portalsbase
 
Läuft! Super Arbeit!!!!!!!!!! muss erstmal schauen was da der unterschied ist

Musste erstmal Portalsbase immer umbenennen da ich ja schon nen Image habe.

Edit: Ah ich sehe es der merkt jetzt wo er wohnt
 
Zuletzt bearbeitet:
laptop
ubuntu neu installiert
Dockerfile_Linux

Base image portalsbase built successfully.
** Running Docker container on port 8090 with restart policy **

und das kommt raus

Index of /​


Du musst angemeldet sein, um Bilder zu sehen.



Apache/2.4.52 (Ubuntu) Server at 192.168.10.555 Port 8090
 
Zuletzt bearbeitet:
Welcher Browser?
Das Problem dürfte normal nicht sein da php 8.2 im docker läuft.

reboot mal
 
ja das stimmt docker läuft
warten wir ab update kommt
/var/www/html/servermanager/portals/nix da
 
Zuletzt bearbeitet:
bitte einmal zeigen, was hier angezeigt wird
Code:
docker ps -a
 
Warum zur hölle schiebst du die Dockerdaten im Apache2 Bereich deines Hostes? oh man
 
Code:
docker ps -all
permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Get "http://%2Fvar%2Frun%2Fdocker.sock/v1.47/containers/json?all=1&limit=1": dial unix /var/run/docker.sock: connect: permission denied

salidos soll testen
weil bei mir alles im html läuft
portalsdocker
yospstalker
vserver3
 
Zuletzt bearbeitet:
Du hast nicht das script "portals.sh" von salidos benutzt zum installieren, sonst würden die Berechtigungen richtig sein.

erstmal folgendes machen
Code:
sudo usermod -aG docker ${USER}

und dann noch mal
Code:
docker ps -a
 
doch sudo bash portals.sh

Code:
sudo usermod -aG docker ${USER}
sali@dos:~$ docker ps -a
permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Get "http://%2Fvar%2Frun%2Fdocker.sock/v1.47/containers/json?all=1": dial unix /var/run/docker.sock: connect: permission denied
 
Für die Nutzung dieser Website sind Cookies erforderlich. Du musst diese akzeptieren, um die Website weiter nutzen zu können. Erfahre mehr…