在 Ubuntu 20.04 基本映像中运行 MSSQL-Server 的 Docker 容器未启动

问题描述 投票:0回答:1

我正在尝试在 Ubuntu 20.04 基本映像中运行 MSSQL-Server。创建映像时没有错误,但容器未启动。请帮忙。预先感谢您的评论和帮助。这是文件。

rams/ubuntu:基础 Dockerfile

# Use the official Ubuntu 20.04 as base image
FROM ubuntu:20.04

# Install dependencies
RUN apt-get update && \
    apt-get install -y \
    curl \
    wget \
    software-properties-common \
    dirmngr \
    apt-transport-https \
    lsb-release \
    ca-certificates && \
    apt-get clean && \
    rm -rf /var/lib/apt/lists/*

Dockerfile

# Use the official Ubuntu 20.04 as base image
FROM rams/ubuntu:base

ENV DEBIAN_FRONTEND=noninteractive

# Install dependencies
RUN apt-get update && \
    apt-get install -y gnupg2 && \
    apt-get clean

# Install MSSQL Server and command-line tools
RUN curl https://packages.microsoft.com/keys/microsoft.asc | tee /etc/apt/trusted.gpg.d/microsoft.asc
RUN add-apt-repository "$(curl -sSL https://packages.microsoft.com/config/ubuntu/20.04/mssql-server-2022.list)"
RUN apt-get update && \
    ACCEPT_EULA=Y apt-get install -y mssql-server && \
    apt-get clean

RUN curl https://packages.microsoft.com/keys/microsoft.asc | tee /etc/apt/trusted.gpg.d/microsoft.asc
RUN curl https://packages.microsoft.com/config/ubuntu/20.04/prod.list | tee /etc/apt/sources.list.d/mssql-release.list
RUN apt-get update && \
    ACCEPT_EULA=Y apt-get install -y msodbcsql17 && \
    ACCEPT_EULA=Y apt-get install -y mssql-tools && \
    echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bashrc && \
#    source ~/.bashrc && \
    apt-get install -y unixodbc-dev && \
    apt-get clean

# Expose the port for SQL Server
EXPOSE 1433

docker-compose.yaml

version: '3.8'

services:
  sql_server:
    build:
      context: .
      dockerfile: Dockerfile
    image: rams/mssql:base
    container_name: rams-mssql
    ports:
      - "1433:1433"
    environment:
      ACCEPT_EULA: "Y"
      SA_PASSWORD: "YourStrong!Passw0rd"
      MSSQL_PID: "Developer"

我用 ChatGPT 检查了代码,但不起作用。

sql-server docker docker-compose dockerfile ubuntu-20.04
1个回答
0
投票

因为我找不到解决办法。我使用以下文件来解决我的情况。

docker-compose.yaml

version: '3.7'
services:
  ms_sql_server:
    image: mcr.microsoft.com/mssql/server:2019-latest
    ports:
      - "1433:1433"
    environment:
      ACCEPT_EULA: "Y"
      MSSQL_SA_PASSWORD: "YourStrong@Passw0rd"
      MSSQL_PID: "Developer"
    volumes:
      - db_data:/var/opt/mssql
    networks:
      mynetwork:
        ipv4_address: 172.18.0.2

networks:
  mynetwork:
    external: true

volumes:
  db_data:

docker文件

FROM mcr.microsoft.com/mssql/server:2019-latest

# Install SQL Server command line tools
RUN apt-get update && \
    apt-get install -y curl gnupg && \
    curl https://packages.microsoft.com/keys/microsoft.asc | apt-key add - && \
    curl https://packages.microsoft.com/config/debian/10/prod.list > /etc/apt/sources.list.d/mssql-release.list && \
    apt-get update && \
    ACCEPT_EULA=Y apt-get install -y mssql-tools unixodbc-dev

# Add tools to PATH
RUN echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bashrc
© www.soinside.com 2019 - 2024. All rights reserved.