는 편집 :작곡가 스크립트에서 변수 사용
그것은을 실현하기 위해 나에게 일을했다 그러나 이것은 실제로 안티 패턴입니다. 작곡가는 도커 스크립트를 실행해서는 안됩니다.
내 솔루션은 이것이다 :
"scripts": {
"php bin/console/doctrine.php orm:schema-tool:create",
"php bin/console/doctrine.php orm:schema-tool:update --force",
"php bin/console/fixtures.php"
},
---
는 작곡가 스크립트에 변수를 전달 할 수 있습니까?
나는 도커에서 실행되는이 리포지토리가 있습니다. 조명기 나 데이터베이스 스키마를 업데이트 할 필요가있을 때 또는 다른 것들을 실행할 필요가있을 때 docker exec
적어도 반자동으로 만들고 싶습니다. 그래서 나는 composer run refresh_app
과 같은 것을 입력 할 수 있고, 끝내야 할 모든 것은 끝납니다. 이와 같은 스크립트
는 :
"scripts": {
"db:create": "docker exec -i my_container_name bash -c \"cd /www; php bin/console/doctrine.php orm:schema-tool:create\"",
"db:update": "docker exec -i my_container_name bash -c \"cd /www; php bin/console/doctrine.php orm:schema-tool:update --force\"",
"db:fixtures": "docker exec -i my_container_name bash -c \"cd /www; php bin/console/fixtures.php\""
},
나는 변수에 my_container_name
를 전달하려는. 가능하면 다음과 같이하십시오 :
"scripts": {
"db:create": "docker exec -i $CONTAINER_ID bash -c \"cd /www; php bin/console/doctrine.php orm:schema-tool:create\"",
"db:update": "docker exec -i $CONTAINER_ID bash -c \"cd /www; php bin/console/doctrine.php orm:schema-tool:update --force\"",
"db:fixtures": "docker exec -i $CONTAINER_ID bash -c \"cd /www; php bin/console/fixtures.php\""
},
감사합니다. 그것은 비록 내 문제를 해결하지 않습니다. 백그라운드에서 도커를 실행하고 composer/npm 스크립트를 사용하여 도커와 통신하고 싶습니다. 그것은 하드 코딩 된 잘 작동하지만 내 이미지 사용자의 여러 인스턴스에 대한 직접 명령을 입력해야합니다. – Michal