sh 在Docker容器中启动MongoDB并检查公开的端口

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sh 在Docker容器中启动MongoDB并检查公开的端口相关的知识,希望对你有一定的参考价值。

# Start DB
echo "---> Starting Mongo"
DB_ID=$(docker run -d -P docker-registry.intranet/mongo:2.4)
DB_PORT=$(docker inspect --format '{{range $i, $e := .NetworkSettings.Ports}}{{if $e}}{{$p := index $e 0}}{{$p.HostPort}}{{end}}{{end}}' $DB_ID)
echo "Found Mongo at port $DB_PORT"

if [[ -n $DOCKER_HOST ]]; then
  DB_IP=$(echo $DOCKER_HOST|sed -e 's|tcp://||' -e 's|:[0-9]\+||')
else
  DB_IP=localhost
fi

echo "Waiting for Mongo at $DB_IP:$DB_PORT to begin listening"
until nc -z $DB_IP $DB_PORT; do
  sleep 0.5
done
echo "Done!"

以上是关于sh 在Docker容器中启动MongoDB并检查公开的端口的主要内容,如果未能解决你的问题,请参考以下文章

sh 容器启动脚本在容器中挂载外部的应用并在容器启动的时候启动,参数传递使用环境变量#bash #docker

添加 Root 密码并在启动时在 MongoDB Docker 容器上创建应用程序用户

Docker安装MongoDB

解决docker容器因报错无法启动的问题,检查修复容器错误并重启

WSL2中安装docker 并开机启动

docker 容器的使用