news 2026/6/15 17:28:06

docker 启动 oracle容器报1521: bind: address already in use错误的解决

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
docker 启动 oracle容器报1521: bind: address already in use错误的解决
docker start oracle19c Error: unable to start container "113bf6abbd5961b60fcc7cee23eae34e7e29631a0e0dd3b721487b559e3dc423": cannot listen on the TCP port: listen tcp4 :1521: bind: address already in use

参考文章解决docker服务端口占用问题,bind:Address already in use介绍的步骤。
用docker ps查看运行中的进程,发现有一个oracle12c的容器正在运行中,将其停止,再启动oracle19c容器就不报错了。

docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 03796669a3be registry.cn-hangzhou.aliyuncs.com/lhrbest/oracle_12cr2_ee_lhr_12.2.0.1:2.0 init 2 days ago Up 5 minutes ago 0.0.0.0:5522->22/tcp, 0.0.0.0:1521->1521/tcp, 0.0.0.0:3389->3389/tcp, 0.0.0.0:5500-5501->5500-5501/tcp oracle12c docker stop 03796669a3be 03796669a3be docker start oracle19c oracle19c docker exec -it oracle19c /bin/bash [oracle@113bf6abbd59 ~]$ cd /par [oracle@113bf6abbd59 par]$ sqlplus / as sysdba SQL*Plus: Release 19.0.0.0.0 - Production on Tue Dec 23 14:06:07 2025 Version 19.3.0.0.0 Copyright (c) 1982, 2019, Oracle. All rights reserved. Connected to: Oracle Database 19c Standard Edition 2 Release 19.0.0.0.0 - Production Version 19.3.0.0.0

为什么我没有启动oracle12c的容器,它却在后台运行?这就要追溯到当时运行它的命令行, 有个restart=always选项导致启动Docker,它就自动启动了。

docker run -itd --name oracle12c \ --privileged=true \ --restart=always \

AI对这个选项给出的说明如下

Docker --restart=always 参数 在 Docker 中,--restart=always 参数用于确保容器在退出时总是重新启动。无论容器是因为故障退出还是 Docker 守护进程重启,该参数都能保证容器自动重启。这对于生产环境中的关键应用非常重要,因为它能确保应用的持续运行。 使用示例 启动容器时添加 --restart=always 参数 在启动容器时,可以通过添加 --restart=always 参数来确保容器在退出时自动重启。例如: docker run -d --restart=always tomcat 此命令将启动一个 Tomcat 容器,并确保它在退出时自动重启。 修改已创建的容器 如果容器在创建时没有添加 --restart=always 参数,可以使用以下命令进行修改: docker container update --restart=always 容器名字 例如: docker container update --restart=always my_container 此命令将更新容器的重启策略,使其在退出时自动重启。 配置文件修改 除了使用命令行参数,还可以通过修改容器的配置文件来设置重启策略。首先需要停止容器,然后编辑 /var/lib/docker/containers/容器ID/hostconfig.json 文件,将 RestartPolicy 修改为 always。 "RestartPolicy": { "Name": "always", "MaximumRetryCount": 0 } 修改完成后,重新启动容器即可生效。 使用 --restart=always 参数可以确保 Docker 容器在退出时自动重启,无论是因为故障还是 Docker 守护进程重启。这对于需要高可用性的应用非常重要。可以在启动容器时添加该参数,也可以通过命令或修改配置文件来设置。
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/15 15:59:13

OBS直播教程:OBS如何添加歌词显示?OBS怎么把歌词放上去?

OBS直播教程:OBS如何添加歌词显示?OBS怎么把歌词放上去? 第一步:下载OBS歌词插件,并完成安装 OBS歌词插件下载地址①: https://d.obscj.com/obs-Setup_BGM.exe OBS歌词插件下载地址②: htt…

作者头像 李华
网站建设 2026/6/10 16:53:52

比话和其他降AI率工具有什么不同,为什么能把知网AI率降低到15%

2025年起,高校已明确要求毕业论文要检测AIGC率,AI率高于30%或40%就不能参加答辩,而部分学校、硕士论文更加严格,要求在20%以内。 这其中,大多数高校使用的AIGC检测系统是知网、万方、维普等主流查重系统,这…

作者头像 李华
网站建设 2026/6/14 17:53:22

区块链存证服务对比:金融行业合规审计的可靠选择

区块链存证服务对比:金融行业合规审计的可靠选择 ——一位从业经验十五年的技术专家的实战分析在金融行业,合规审计是保障业务安全、防止法律风险、维护机构信誉的重要一环。近年来,金融交易频次的增加以及监管要求的不断升级,传统…

作者头像 李华
网站建设 2026/6/9 15:01:49

WSDL 总结

WSDL 总结 引言 WSDL(Web Services Description Language)是一种用于描述Web服务的XML格式。它是构建、发布、发现和使用Web服务的关键技术之一。本文将对WSDL进行详细总结,包括其定义、作用、组成以及在实际应用中的注意事项。 WSDL的定义 WSDL是一种XML语言,用于描述…

作者头像 李华