staging.inyokaproject.org

Containerbau Dockerfile

Status: Ungelöst | Ubuntu-Version: Server 22.04 (Jammy Jellyfish)
Antworten |

cliwrouc

Anmeldungsdatum:
28. April 2011

Beiträge: 51

Hallo zusammen, ich habe mal eine Frage bezüglich dem Dockerfile.

1. Kann ich mehrere Container in einem Dockerfile bauen?

und

2. Kann ich die RUN Commands auf eine externe Datei verweisen z.B. RUN (Commands der Zeilen 1-5)

der Ist-Zustand:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15

From ubuntu:20.04
WORKDIR /root/
COPY ebayKleinanzeigenAlert ./
COPY alert.sh ./
RUN apt update -y
RUN apt install python3  pip -y
RUN pwd
RUN pip install .

  RUN  ebAlert links -a"link1"
  RUN  ebAlert links -a"link2"
  RUN  ebAlert links -a"link3"
  RUN  ebAlert links -a"link4"
  RUN  ebAlert links -a"link5"

Der Soll-Zustand:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24

From ubuntu:20.04
WORKDIR /root/
COPY ebayKleinanzeigenAlert ./
COPY alert.sh ./
RUN apt update -y
RUN apt install python3  pip -y
RUN pwd
RUN pip install .

  RUN  (Kommandos von zeile 1-5 von docker_commands.list)

###ZWEITER CONTAINER

From ubuntu:20.04
WORKDIR /root/
COPY ebayKleinanzeigenAlert ./
COPY alert.sh ./
RUN apt update -y
RUN apt install python3  pip -y
RUN pwd
RUN pip install .

  RUN  (Kommandos von zeile 6-10 von docker_commands.list)

Das Ziel soll sein, dass ich nicht mehr ein Container habe, der sehr lange alle Links abarbeiten soll, sondern mehrere,die sich aus einer zentralen Liste die RUN commands herausnehmen.

Ich bin auch offen für weitere Vorschläge.

sebix Team-Icon

Moderator, Webteam

Anmeldungsdatum:
14. April 2009

Beiträge: 5077

cliwrouc schrieb:

1. Kann ich mehrere Container in einem Dockerfile bauen?

Schau dir mal docker-compose an. Damit kannst du mehrere Container bauen, alle mit dem gleichen Dockerfile als Basis, aber mit unterschiedlichen Entrypoints, env-Variablen etc

2. Kann ich die RUN Commands auf eine externe Datei verweisen z.B. RUN (Commands der Zeilen 1-5)

Ja, einfach die Datei in den Container adden und dann dort drinnen ausfuehren.

cliwrouc

(Themenstarter)

Anmeldungsdatum:
28. April 2011

Beiträge: 51

Das ist meine docker-compose.yaml:

1
2
3
4
5
6
7
[root@docker:~/alert_docker# cat docker-compose.yaml
version: "3.9"
services:
  webapp:
   build: ./
   restart: always
   command: /bin/sh -c "/root/alert.sh"

]

1
2
3
root@docker:~# cat alert_docker/alert.sh
#!/bin/sh
 while true; do ebAlert start; sleep 1; done;

Danke, wie müsste ich denn dann den rest anpassen?

Antworten |