本文已参与「开源摘星计划」,欢迎正在阅读的你加入。活动链接:https://github.com/weopenprojects/WeOpen-Star
官方的 demo,在百度云上跑遇到了一个 Bug,就是 ca 服务器访问不同 ca 数据库地址,配置成内网地址也不行。
最后想了一个办法,给这两个容器,创建了一个自定义网络,然后两个容器启动的时候,指定自定义网络,并配置好固定 ip。 然后再配置里把 ip 写成对应的,成功解决。
这里贴出修改后的 deploy.sh
#!/bin/bash
path=`pwd`
docker build -t chainmaker-ca:v2.2.0 .
echo "create network mynet..."
docker network create --subnet=172.172.0.0/24 mynet
echo "start mysql service..."
docker run -d \
-p 13306:3306 \
-e MYSQL_ROOT_PASSWORD=123456 \
-e MYSQL_DATABASE=chainmaker_ca \
--name ca-mysql \
--restart always \
--net mynet \
--ip 172.172.0.10 \
mysql:8.0
echo "waiting for database initialization..."
sleep 20s
docker logs --tail=10 ca-mysql
echo "start ca services..."
docker run -d \
-p 8096:8090 \
-w /chainmaker-ca \
-v $path/src/conf:/chainmaker-ca/conf \
-v $path/log:/log \
-v $path/crypto-config:/crypto-config \
-v $path/sansec-pkcs11/pkcs11:/usr/local/lib64/pkcs11 \
-v $path/sansec-pkcs11/etc:/etc \
--net mynet \
--ip 172.172.0.11 \
--name ca-server \
--restart always \
chainmaker-ca:v2.2.0 \
bash -c "./chainmaker-ca -config ./conf/config.yaml"
sleep 2s
docker logs ca-server
echo "chainmaker-ca server start!"
复制代码
评论