Attached ist meine Docker-komponieren-Datei. Es ist ein sehr einfaches Projekt mit einer Datenbank und phpmyadmin, um darauf zuzugreifen.Docker-Compose Up Works, aber Eb Local Run nicht
web:
build: ./docker_web/
links:
- db
ports:
- "80:80"
volumes:
- "./docker_web/www/:/var/www/site"
db:
image: mysql:latest
restart: always
volumes:
- "./.data/db:/var/lib/mysql"
environment:
MYSQL_ROOT_PASSWORD: ^^^^
MYSQL_DATABASE: electionbattle
MYSQL_USER: admin
MYSQL_PASSWORD: ^^^^
phpmyadmin:
image: phpmyadmin/phpmyadmin
container_name: phpmyadmin
environment:
- PMA_ARBITRARY=1
restart: always
ports:
- 8081:80
volumes:
- /sessions
links:
- db
Wenn ich das ausführen, funktioniert es gut. Ich habe das Äquivalent für Amazon Docker Run für Elastic Beanstalk erstellt und es wird gestartet, aber aus irgendeinem Grund kann es das Volume nicht finden, das meine persistenten Datenbankdaten im .data-Ordner enthält.
Ich habe versucht, zu ändern .data nur Daten kein Glück.
Auch bekomme ich einen seltsamen Fehler, wenn eb deploy
2016-09-24 19:56:10 UTC-0700 ERROR ECS task stopped due to: Essential container in task exited. (db: CannotCreateContainerError: API error (500): create ./.data/db/: "./.data/db/" includes invalid characters for a local volume name, only "[a-zA-Z0-9][a-zA-Z0-9_.-]" are allowed web: phpmyadmin:)
ich keine Ahnung, wie zu tun haben, versuchen, diesen Fehler zu beheben oder warum sein Vorkommnis. Irgendwelche Ideen?
Oops vergessen, meine Amazon-Datei :) hinzuzufügen.
{
"AWSEBDockerrunVersion": 2,
"volumes": [
{
"name": "web",
"host": {
"sourcePath": "./docker_web/www/"
}
},
{
"name": "db",
"host": {
"sourcePath": "./data/db/"
}
}
],
"containerDefinitions": [
{
"name": "web",
"image": "197984628663.dkr.ecr.us-west-1.amazonaws.com/electionbattleonline",
"memory": 200,
"essential": true,
"mountPoints": [
{
"sourceVolume": "web",
"containerPath": "/var/www/site",
"readOnly": false
}
],
"links": [
"db"
],
"portMappings": [
{
"hostPort": 80,
"containerPort": 80
}
]
},
{
"name": "db",
"image": "mysql:latest",
"environment": [
{
"name": "MYSQL_ROOT_PASSWORD",
"value": "^^^^"
},
{
"name": "MYSQL_DATABASE",
"value": "electionbattleonline"
},
{
"name": "MYSQL_USER",
"value": "admin"
},
{
"name": "MYSQL_PASSWORD",
"value": "^^^^"
}
],
"portMappings": [
{
"hostPort": 3306,
"containerPort": 3306
}
],
"mountPoints": [
{
"sourceVolume": "db",
"containerPath": "/var/lib/mysql",
"readOnly": false
}
],
"essential": true,
"memory": 200
},
{
"name": "phpmyadmin",
"image": "phpmyadmin/phpmyadmin",
"environment": [
{
"name": "PMA_ARBITRARY",
"value": "1"
}
],
"essential": true,
"memory": 128,
"links": [
"db"
],
"portMappings": [
{
"hostPort": 8081,
"containerPort": 80
}
]
}
]
}
ist dies die ganze Datei oben? Verwenden Sie nicht 'version:" 2 "'? – Alkaline
ja es ist die ganze Datei, Docker-komponieren und sein Zähler Teil der Dockerrun.aws.json –
interessanterweise habe ich den DB-Container los und es gibt jetzt den gleichen Fehler für den Web-Container, wenn ich versuche, zu implementieren? wie seltsam ... mag es nicht, Volumen zu montieren? –