【发布时间】:2020-11-11 10:21:12
【问题描述】:
我有一个 docker 容器,它从图像开始 - https://hub.docker.com/r/ibmcom/db2/
一切正常,但我需要对 SSL 连接进行一些实验。我进入了容器内。
docker exec -it my_container /bin/bash
我已切换到需要的用户
su - db2inst1
我做了一些更改,这是实现 SSL 配置所需的
gsk8capicmd_64 -keydb -create -db "server.kdb" -pw "my_secret_password" -stash
gsk8capicmd_64 -cert -create -db "server.kdb" -pw "my_secret_password" -label "my_company" -dn "CN=my_company" -size 2048 -sigalg SHA256_WITH_RSA
gsk8capicmd_64 -cert -extract -db "server.kdb" -pw "my_secret_password" -label "my_company" -target "server.arm" -format ascii -fips
gsk8capicmd_64 -cert -details -db "server.kdb" -pw "my_secret_password" -label "my_company"
db2 update dbm cfg using SSL_SVR_KEYDB /database/config/db2inst1/server.kdb
db2 update dbm cfg using SSL_SVR_STASH /database/config/db2inst1/server.sth
db2 update dbm cfg using SSL_SVCENAME 50002
db2set DB2COMM=SSL,TCPIP
db2stop force
db2start
我们来看看
netstat -nlp
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:50000 0.0.0.0:* LISTEN 17030/db2sysc 0
tcp 0 0 0.0.0.0:50002 0.0.0.0:* LISTEN 17030/db2sysc 0
一切正常。我测试了 SSL,一切都很好。但是之后,当我在制作时
docker stop my_container
docker start my_container
我的 SSL 端口未启动。在 netstat 中,我只看到:
netstat -nlp
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:50000 0.0.0.0:* LISTEN 17030/db2sysc 0
什么时候去码头集装箱,什么时候做
db2set DB2COMM=SSL,TCPIP
db2stop force
db2start
SSL 端口已启动,一切正常。
问题。我应该自动启动上面的命令吗?或者可以通过 DB2 中的一些配置来实现?
【问题讨论】:
标签: docker db2 systemd init autostart