我拉了图片
docker pull store / oracle / database-enterprise:12.2.0.1 从这里https://hub.docker.com/u/brekhinaleks/content/sub-6f22957e-9628-4ac6-a935-1c0cab2f648e
并执行
docker run -d -it --name ETL store / oracle / database-enterprise:12.2.0.1
➜ ~ docker run -d -it --name ETL store/oracle/database-
enterprise:12.2.0.1
aaca9926e1653027c24610cdde97f542f3ca2551f224942e84c80daea355642b
➜ ~ docker logs ETL
Setup Oracle Database
Oracle Database 12.2.0.1 Setup
Tue Jun 25 15:35:35 UTC 2019
Check parameters ......
log file is : /home/oracle/setup/log/paramChk.log
paramChk.sh is done at 0 sec
untar DB bits ......
log file is : /home/oracle/setup/log/untarDB.log
答案 0 :(得分:0)
答案 1 :(得分:0)
您只是在docker run命令中缺少“ -P”参数,该命令告诉Docker分配公共端口。尝试以下方法:
docker run -d -it --name ETL -P store/oracle/database-enterprise:12.2.0.1
然后运行此命令以查找本地端口分配:
docker port ETL
答案 2 :(得分:0)
以上方法都不适合我。我能够使用容器的实际 IP 进行连接。
我运行容器
docker run -it -p 1512:1512 store/oracle/database-enterprise:12.2.0.1-slim
然后我会得到一个 bash 控制台来玩
docker exec -it CONTAINER_ID bash
在容器内查找ip
$ ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
46: eth0@if47: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP
link/ether 02:42:ac:11:00:02 brd ff:ff:ff:ff:ff:ff link-netnsid 0
inet 172.17.0.2/16 brd 172.17.255.255 scope global eth0
最后我用非环回接口的地址用SQL Developer连接