如何在Docker Compose中像运行脚本一样运行脚本
我意识到可能有多种方式来做到这一点,我想知道所有这些权衡是什么。
我有一个由docker Compose设置的一组节点。 他们都必须使用相同的PostGRESQL数据库(这是一个外部容器,与外部链接连接)。
我想运行一个启动脚本来创build这些数据库和表。 其中一个节点是node.js,这使得安装PSQL很困难(因为它不能从OS映像inheritance)。
我想避免连接到服务器的节点组的所有者。 理想情况下,他们应该在其存储库中转储一个SQL文件,这应该会自动为他们创build数据库和表。
关于如何在构build容器时运行一次脚本的任何想法/最佳实践?
这是我的docker – 撰写
version: '2' services: web: build: 'main_server' ports: - 3000 external_links: - some-postgres:postgres network_mode: bridge backend: build: 'data_controller' network_mode: bridge
这是我想要导入的PostGRESQL文件:
CREATE USER docker; GRANT ALL PRIVILEGES ON DATABASE bzucker3_db TO docker; CREATE TABLE location ( id varchar(12), location varchar(50), name varchar(30) PRIMARY KEY, building_name varchar(90), building_id varchar(30), floor varchar(1), room varchar(30) ); CREATE TABLE count ( clientCount int, clientCount_2_4GHz int, clientCount_5GHz int, name varchar(30) PRIMARY KEY, );
- 让Jenkins在更新图像时“更新”正在运行的Docker容器的最佳方法
- ECONNREFUSED 127.0.0.1:3306到jenkins里面的mysql容器
- 无法从一个容器curl到另一个容器
- Docker容器正在退出
- docker检查containerId与Mounts字段比较Volumes字段的手段是什么?
- 在Docker容器内运行的Identity Server 4例外:无法加载DLL“System.Security.Cryptography.Native.OpenSsl”
- 如何监视和发现Kubernetes Services之间的交通?
- 如何通过docker run将本地文件作为parameter passing?
- Traefik:让我们encryption+其他证书