☰
ubuntu上安装docker
2026/10/26 20:11:33 网站建设 项目流程

一、搭建docker环境

  • 安装依赖
sudo apt-get update sudo apt-get install ca-certificates curl
  • 获取密钥(需要特殊网络)并添加可读权限
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg sudo chmod a+r /etc/apt/keyrings/docker.gpg
  • 配置清华源
sudo tee /etc/apt/sources.list.d/docker.sources <<EOF Types: deb URIs: https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/ubuntu Suites: $(. /etc/os-release && echo "$VERSION_CODENAME") Components: stable Signed-By: /etc/apt/keyrings/docker.gpg EOF
  • 安装
sudo apt-get update sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
  • 将当前用户加入docker用户组使得可以执行docker命令,执行后需要重新登录
sudo usermod -aG docker $USER

二、获取镜像并按需创建docker容器

  • 拉取镜像(需要特殊网络)
docker pull ubuntu:24.04
  • 编写自定义的Dockerfile

创建Dockerfile文件并将以下内容写入。

需要注意的是这里提前将docker容器的22端口暴露,为了方便直接在dindows主机上通过ssh连接到容器里,而不需要先连接服务器主机,然后docker命令运行容器。

额外预留了一个3000端口。

默认创建hello用户。

# 使用 Ubuntu 24.04 作为基础镜像 FROM ubuntu:24.04 # 更新软件源为清华镜像源 #RUN sed -i 's|http://archive.ubuntu.com/ubuntu|https://mirrors.tuna.tsinghua.edu.cn/ubuntu|g' /etc/apt/sources.list && \ # sed -i 's|http://archive.ubuntu.com/ubuntu|https://mirrors.tuna.tsinghua.edu.cn/ubuntu|g' /etc/apt/sources.list.d/ubuntu.sources # 更新软件源并安装 gcc、ssh 服务、htop、vim、cmake、git RUN apt-get update && \ apt-get install -y build-essential openssh-server sudo tzdata fish htop vim cmake git && \ apt-get clean && \ rm -rf /var/lib/apt/lists/* # 区域设置为亚洲上海 ENV TZ=Asia/Shanghai # 设置 root 密码 RUN echo 'root:123' | chpasswd # 创建用户组 developer 和新用户 hello 并设置密码 RUN groupadd developer && \ useradd -m -g developer hello && \ echo 'hello:123' | chpasswd && \ usermod -aG sudo hello # 创建 SSH 服务所需的目录 RUN mkdir /var/run/sshd # 配置 SSH 服务 RUN sed -i 's/#PermitRootLogin prohibit-password/PermitRootLogin no/' /etc/ssh/sshd_config # 暴露容器的 22/3000 端口 EXPOSE 22 3000 # 启动 SSH 服务 CMD ["/usr/sbin/sshd", "-D"]
  • 基于Dockerfile构建自定义的镜像
docker build -t ubuntu-dev .
  • 创建容器
docker run -d -p 2200:22 -p 3000:3000 --restart unless-stopped --name docker-test ubuntu-dev

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询