docker安装oracle

#!/bin/bash

# 1. 检查是否安装了 Docker
if ! command -v docker &> /dev/null; then
    echo "Docker 未安装,正在安装 Docker..."
    sudo apt-get update
    sudo apt-get install -y docker.io
    sudo systemctl start docker
    sudo systemctl enable docker
    echo "Docker 安装完成!"
else
    echo "Docker 已安装。"
fi


# 2. 拉取 Oracle Free Database 镜像
IMAGE_NAME="container-registry.oracle.com/database/free:latest"
if [[ "$(docker images -q $IMAGE_NAME 2> /dev/null)" == "" ]]; then
    echo "Oracle Free Database 镜像未找到,正在拉取镜像..."
    sudo docker pull $IMAGE_NAME
    if [ $? -ne 0 ]; then
        echo "拉取镜像失败,请检查网络或镜像名称是否正确。"
        exit 1
    fi
else
    echo "Oracle Free Database 镜像已存在。"
fi

# 3. 创建数据存储目录
DATA_DIR="/opt/oracle/data"
if [ ! -d "$DATA_DIR" ]; then
    echo "创建数据存储目录:$DATA_DIR"
    sudo mkdir -p $DATA_DIR
    sudo chown -R $USER:$USER $DATA_DIR
    sudo chmod -R 777 $DATA_DIR
else
    echo "数据存储目录已存在:$DATA_DIR"
fi

# 4. 启动 Oracle 容器
CONTAINER_NAME="oracle-free"
if [[ "$(docker ps -aq -f name=$CONTAINER_NAME 2> /dev/null)" != "" ]]; then
    echo "Oracle 容器已存在,尝试重启容器..."
    sudo docker rm -f $CONTAINER_NAME
fi

echo "启动 Oracle 容器..."
sudo docker run -d \
  --name $CONTAINER_NAME \
  -p 1521:1521 \
  -p 5500:5500 \
  -e ORACLE_SID=FREE \
  -e ORACLE_PWD=123456 \
  -v $DATA_DIR:/opt/oracle/oradata \
  $IMAGE_NAME

# 等待容器初始化完成
echo "等待 Oracle 数据库初始化完成(大约需要 2-5 分钟)..."
sleep 10

echo "启动 Oracle 容器..."
sudo docker run -d \
  --name $CONTAINER_NAME \
  -p 1521:1521 \
  -p 5500:5500 \
  -e ORACLE_SID=FREE \
  -e ORACLE_PWD=123456 \
  -v $DATA_DIR:/opt/oracle/oradata \
  $IMAGE_NAME

# 等待容器初始化完成
echo "等待 Oracle 数据库初始化完成(大约需要 2-5 分钟)..."
sleep 10

#sudo docker ps -a

#sudo docker start eb1493dda045


©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容