news 2026/1/29 9:10:25

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/1/22 4:49:30

(31)GoF之代理模式

对代理模式的理解 生活场景1:牛村的牛二看上了隔壁村小花,牛二不好意思直接找小花,于是牛二找来了媒婆王妈妈 。这里面就有一个非常典型的代理模式。牛二不能和小花直接对接,只能找一个中间人。其中王妈妈是代理类,牛…

作者头像 李华
网站建设 2026/1/23 10:24:03

10 个AI写作工具,专科生论文写作不再难!

10 个AI写作工具,专科生论文写作不再难! AI 工具,让论文写作不再难 在专科生的学术生涯中,论文写作常常是令人头疼的一环。无论是选题、构思、撰写还是降重,每一个环节都可能成为拦路虎。而随着 AI 技术的发展&#xf…

作者头像 李华
网站建设 2026/1/24 23:54:01

Elasticsearch 8.13.4 常用搜索操作完全指南

Elasticsearch 作为分布式搜索和分析引擎,提供了丰富的搜索能力。本文将详细介绍 Elasticsearch 8.13.4 中最常用的搜索操作,帮助您快速掌握其核心搜索功能。 一、基础概念回顾 在开始搜索操作前,让我们简要回顾几个核心概念: 索引…

作者头像 李华
网站建设 2026/1/27 1:45:06

零基础入门:12个月成为渗透测试员的完整路线图(必收藏)

进入渗透测试领域似乎是一件令人难以承受的事情——尤其是如果你之前没有任何经验的话。对我来说,渗透测试曾经看起来像是一个不可能实现的职业。但如果可以使用捷径来加速你的旅程呢?通过利用现有渗透测试人员的方法和个性中的弱点,你可以从…

作者头像 李华