Heim > Artikel > Betrieb und Instandhaltung > Kann Docker Oracle installieren?
Docker kann Oracle installieren. Installationsmethode: 1. Rufen Sie das offizielle Oracle-Image ab und verwenden Sie „Docker Images“, um das Image anzuzeigen. 2. Verwenden Sie nach dem Starten des Containers „docker exec -it oracle11g bash“, um den Container aufzurufen und die Umgebungsvariablen zu bearbeiten „sqlplus /nolog“ Geben Sie einfach die Oracle-Befehlszeile ein.
Die Betriebsumgebung dieses Tutorials: Linux7.3-System, Docker-Version 19.03, Dell G3-Computer.
Sie können Docker verwenden, um Oracle bereitzustellen, und es hat viele Vorteile. Dies kann nicht nur die Installationszeit verkürzen, sondern auch eine schnelle Bereitstellung ermöglichen.
Die Verwendung von Docker für die Bereitstellung bietet folgende Vorteile:
(1) Vereinfachen Sie die Konfiguration. Nach einmaligem Erstellen und Verpacken kann es als Testumgebung, Produktionsumgebung oder Vorproduktionsumgebung verwendet werden, was Einsparungen ermöglicht viele Testlinks. Beispielsweise kann ein Server mehrere Versionen testen, ohne warten zu müssen.
(2) kann die Schwierigkeit lösen, die Entwickler bei der Bereitstellung der Umgebung haben. Beispielsweise kann es einen halben Tag dauern, bis ein neuer Kollege, der gerade angekommen ist, die Umgebung installiert, aber es ist viel bequemer, einen bereits konfigurierten Container direkt auszuführen .
(3) Anwendungsisolation und Serverintegration Ein Server kann Docker verwenden, um mehrere Dienste bereitzustellen, und die Isolation ist sehr hoch (mit Ausnahme virtueller Maschinen).
(4) Für die Entwicklung kann es nach der Bereitstellung überall ausgeführt werden, um die Entwicklung und das Debuggen zu erleichtern.
(5) Es kann die Ressourcenauslastung reduzieren und viele unnötige Ressourcen einsparen. Der Verlust der Isolation wird durch andere Vorteile mehr als ausgeglichen.
(6) Für Betrieb und Wartung kann die Kapazität schnell erweitert und die ursprüngliche Auslastung reduziert werden.
(7) Jeder kleine Dienst kann relativ wenig Ressourcen verbrauchen und auf einem Server gestartet werden mehr I/O auf dem Server als andere Produkte.
(8) Kann auf mehreren Plattformen bereitgestellt werden
Beispiele sind wie folgt:
Die Installation von Oracle unter Linux ist sehr mühsam und ich glaube, dass jeder auf verschiedene Fallstricke stoßen wird. Um es einmal zu installieren, ist es auch praktisch, das Image direkt zu exportieren und es in Zukunft auf verschiedenen Plattformen zu verwenden. Daher entscheide ich mich für die Installation mit Docker
Suchen Sie auf DockerHub nach Oracle, um Oracles zu finden Offizielles Bild, Adresse: https://hub.docker.com/
Beachten Sie, dass Sie das Bild nicht abrufen können, wenn Sie hier den Befehl docker pull oraclelinux
verwenden, da es nicht über die neueste Version verfügt Etikett. Daher kann die Versionsnummer nur manuell angegeben werden docker pull oraclelinux
命令,是拉取不到镜像的,因为它没有 latest 标签。因此,只能手动指定它的版本号
例如 docker pull oraclelinux
使用 官方镜像 下载速度非常慢,因此,我们可以使用阿里镜像 docker pull registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g
在 dockerHub 上可以搜到 (第二个),可以参考这个配置
使用 docker images
查看镜像,确认已经下载完成
docker run -d -it -p 1521:1521 --name oracle11g --restart=always registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g
docker run -d -it -p 1521:1521 --name oracle --restart=always --mount source=oracle_vol,target=/home/oracle/app/oracle/oradata registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g
查看启动的线程 netstat -tulnp
查看运行状态 docker ps -a
Zum Beispiel docker pull oraclelinux
Das Herunterladen des offiziellen Bildes ist sehr langsam, daher können wir das Ali-Bild docker pull Registry.cn-hangzhou.aliyuncs.com/helowin verwenden /oracle_11g
docker images
, um das Bild anzuzeigen und zu bestätigen, dass der Download abgeschlossen wurde🎜🎜🎜Container starten🎜docker run -d - it -p 1521:1521 --name oracle11g --restart=always Registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g
docker run - d -it -p 1521:1521 --name oracle --restart=always --mount source=oracle_vol,target=/home/oracle/app/oracle/oradata Registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g
netstat -tulnp
🎜🎜 Überprüfen Sie den Betriebsstatusdocker ps -a
🎜🎜🎜Geben Sie den Container ein docker exec -it oracle11g bash
docker exec -it oracle11g bash
切换到 root 用户 su root
,密码为 helowin
docker容器配置环境变量不是在 /etc/profile
中,容器启动不会走这个文件。
可以将环境变量的配置设置在 /home/oracle/.bashrc
文件下,这样可以省略掉软连接的创建 ln -s $ORACLE_HOME/bin/sqlplus /usr/bin
编辑环境变量 vi /home/oracle/.bashrc
,在文件最后加入以下命令
export ORACLE_HOME=/home/oracle/app/oracle/product/11.2.0/dbhome_2 export ORACLE_SID=helowin export PATH=$ORACLE_HOME/bin:$PATH
wq
保存并退出。然后使用 source /home/oracle/.bashrc
刷新环境变量,并使之生效
使用 sqlplus /nolog
进入oracle命令行
使用 “操作系统认证” 的方式,登录oracle conn / as sysdba
如果直接使用默认的 root 用户登录,会报登录失败。这里必须使用 su - oracle
命令,将当前用户切换到 oracle,然后在执行登录命令
ORA-12514, TNS:listener does not currently know of service requested in connect descriptor
这个错误是由于数据库名用错了
su - oracle sqlplus /nolog conn / as sysdba select instance_name from v$instance; show user;
使用上述命令查出来的,就是所有可用的 “数据库名” 和 “用户名”
阿里的这个镜像,所有的密码都是统一的 helowin
su root
, das Passwort lautet helowin
Die Docker-Container-Konfigurationsumgebungsvariable befindet sich nicht in /etc /profile code>, diese Datei wird beim Start des Containers nicht übernommen.
/home/oracle/.bashrc
festlegen, wodurch die Erstellung von Softlinks ln -s $ORACLE_HOME/bin/sqlplus /usr/bin entfallen kann
Bearbeitungsumgebungsvariable vi /home/oracle/.bashrc
, fügen Sie den folgenden Befehl am Ende der Datei hinzu
# 打开防火墙 systemctl start firewalld # 查询端口状态 firewall-cmd --query-port=1521/tcp # 永久性开放端口 firewall-cmd --permanent --zone=public --add-port=1521/tcp # 重启防火墙 firewall-cmd --reload firewall-cmd --query-port=1521/tcp
wq
Speichern und beenden. Verwenden Sie dann source /home/oracle/.bashrc
, um die Umgebungsvariablen zu aktualisieren und wirksam zu machen. Geben Sie die Oracle-Befehlszeile ein.
Verwenden Sie sqlplus /nolog
, um das Oracle aufzurufen Befehlszeile
conn / as sysdba
an. Wenn Sie sich direkt mit dem Standard-Root-Benutzer anmelden, wird ein Anmeldefehler gemeldet. Hier müssen Sie den Befehl su - oracle
verwenden, um den aktuellen Benutzer auf Oracle umzustellen, und dann den Anmeldebefehl ausführen
helowin
🎜🎜Der Systembenutzer hat DBA-Berechtigung, aber keine SYSDBA-Berechtigung. Dieses Konto wird normalerweise zur Verwaltung der Datenbank verwendet. 🎜 Der sys-Benutzer ist das Konto mit der höchsten Autorität in der Oracle-Datenbank, mit den Berechtigungen „SYSDBA“ und „SYSOPER“ und darf sich grundsätzlich nicht von außen anmelden. 🎜🎜🎜🎜🎜Konfigurieren Sie die Firewall. 🎜🎜Die Firewall muss Erlauben Sie Port 1521 und externe Datenbankverwaltungstools können verbunden werden 🎜rrreee🎜🎜🎜🎜 Empfohlenes Lernen: „🎜Docker-Video-Tutorial🎜“🎜Das obige ist der detaillierte Inhalt vonKann Docker Oracle installieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!