На докер-хосте под пользователем, под которым планируется запускать приложение из контейнера, выполнить команду:
xhost +
docker network create net_c1_c2;docker run --name=c1 --hostname=c1 -e MARIADB_ROOT_PASSWORD=123321 -e MARIADB_DATABASE=java_app_db -e MARIADB_USER=java_app_user -e MARIADB_PASSWORD=java_app_password --network net_c1_c2 -d mariadb;sleep 5s;docker run -it -e DISPLAY=$DISPLAY -v /tmp/.X11-unix:/tmp/.X11-unix --name=c2 --hostname=c2 -e DB_HOST=c1 -e DB_PORT=3306 -e DB_NAME=java_app_db -e DB_USER=java_app_user -e DB_PASS=java_app_password --network net_c1_c2 vslugin/java_prod:latest
docker start c2
Просто бросьте это в консоль:
cd
mkdir compose_c1_c2
cd compose_c1_c2
cat << EOF > docker-compose.yaml
version: '3.9'
services:
c1:
container_name: "c1"
hostname: "c1"
image: "mariadb"
restart: "always"
environment:
MARIADB_ROOT_PASSWORD: "123321"
MARIADB_DATABASE: "java_app_db"
MARIADB_USER: "java_app_user"
MARIADB_PASSWORD: "java_app_password"
networks:
- net_c1_c2
c2:
container_name: "c2"
hostname: "c2"
image: "vslugin/java_prod:latest"
restart: "no"
environment:
DISPLAY: "$DISPLAY"
DB_HOST: "c1"
DB_PORT: "3306"
DB_NAME: "java_app_db"
DB_USER: "java_app_user"
DB_PASS: "java_app_password"
volumes:
- /tmp/.X11-unix:/tmp/.X11-unix
networks:
- net_c1_c2
networks:
net_c1_c2:
name: net_c1_c2
EOF
docker-compose up -d
docker start c2
Content type
Image
Digest
sha256:02309315e…
Size
376.5 MB
Last updated
over 3 years ago
docker pull vslugin/java_prod