我正在创建Dockerfile在 ubuntu 容器上运行以太坊节点。
我想在容器中依次运行以下 shell 命令。
geth --datadir /home/ubuntu/eth-dev init /home/ubuntu/eth-dev/genesis.json
geth --networkid 45634 --verbosity 4 --ipcdisable --rpc --port 30301 --rpcport 8545 --rpcaddr 0.0.0.0 console 2>> /home/ubuntu/eth-dev/eth.log
Run Code Online (Sandbox Code Playgroud)
我在 Dockerfile 中创建了以下入口点,我认为这是不正确的。
ENTRYPOINT ["geth", "--datadir /home/ubuntu/eth-dev", "init /home/ubuntu/eth-dev/genesis.json", "--networkid 45634", "--verbosity 4", "--ipcdisable", "--rpc", "--port 30301", "--rpcport 8545", "--rpcaddr 0.0.0.0", "console 2>> /home/ubuntu/eth-dev/eth.log"]
Run Code Online (Sandbox Code Playgroud)
任何人都可以更正ENTRYPOINT上述 shell 命令。
将这两个命令放入一个 shell 脚本中,COPY该 shell 脚本位于 Dockerfile 中,然后使用该 shell 脚本作为入口点。
docker-entrypoint.sh:
geth --datadir /home/ubuntu/eth-dev init /home/ubuntu/eth-dev/genesis.json
geth --networkid 45634 --verbosity 4 --ipcdisable --rpc --port 30301 --rpcport 8545 --rpcaddr 0.0.0.0 console 2>> /home/ubuntu/eth-dev/eth.log
Run Code Online (Sandbox Code Playgroud)
Dockerfile:
COPY docker-entrypoint.sh /usr/bin/docker-entrypoint.sh
ENTRYPOINT ["/usr/bin/docker-entrypoint.sh"]
Run Code Online (Sandbox Code Playgroud)
请务必在复制之前或在 Dockerfile 中的命令chmod +x中使用该脚本。RUN
| 归档时间: |
|
| 查看次数: |
9391 次 |
| 最近记录: |