我是 Docker 的新手,似乎无法运行 mariadb 容器。我刚刚在运行 High Sierra 的 Macbook Pro 上新安装了 Docker。
我简单地使用了这个命令:
docker run --name db -e MYSQL_ROOT_PASSWORD=test -d -p 3306:3306
mariadb
Run Code Online (Sandbox Code Playgroud)
它应该创建一个图像并从中运行容器。但我收到以下错误:
docker: Error response from daemon: driver failed programming
external connectivity on endpoint db
(d4d6631ae53d644b5c28a803d5814a792c7af6925ebcf84b61b49b4a0fe30f4b):
Error starting userland proxy: Bind for 0.0.0.0:3306 failed: port is
already allocated.
Run Code Online (Sandbox Code Playgroud)
到目前为止,我可能在很久以前就使用过 MySQL,但我很确定我没有在端口 3306 上运行任何东西。
我也试过不添加 -p 标签,它会在我使用它时运行,但是当我执行时docker ps它会显示3306/tcp而不是0.0.0.0:3306->3306/tcp作为端口。
我也试过只需要端口标签 as-p 3306但这将显示0.0.0.0:32769->3306/tcp为docker ps.
我很想得到一些帮助。提前致谢。
我正在构建一个React.js应用程序,该应用程序将与我在Go中构建的REST API进行交互。
React将使用Javascript Fetch API将请求发送到我的API。
问题是我想保护我的API免受其他地方的要求。没有人应该可以直接通过URL或任何其他客户端(如Postman)直接访问我的API。
我知道JWT是什么,但这不能解决我的问题,因为任何人都可以通过浏览器访问令牌,然后继续使用令牌在React客户端之外请求API。
我已经进行了广泛的研究,但没有任何内容真正符合我的描述。
非常感谢您的帮助。