Docker-构建自己的Web-Linux系统-Ubuntu:22.04

Dockerfile.V1

bash 复制代码
# Dockerfile
FROM ubuntu:22.04

# 避免交互式安装
ENV DEBIAN_FRONTEND=noninteractive

RUN cp /etc/apt/sources.list /etc/apt/sources.list.backup && \
    cat > /etc/apt/sources.list <<EOF
deb http://mirrors.aliyun.com/ubuntu/ jammy main restricted
deb http://mirrors.aliyun.com/ubuntu/ jammy-updates main restricted
deb http://mirrors.aliyun.com/ubuntu/ jammy universe
deb http://mirrors.aliyun.com/ubuntu/ jammy-updates universe
deb http://mirrors.aliyun.com/ubuntu/ jammy multiverse
deb http://mirrors.aliyun.com/ubuntu/ jammy-updates multiverse
deb http://mirrors.aliyun.com/ubuntu/ jammy-backports main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ jammy-security main restricted
deb http://mirrors.aliyun.com/ubuntu/ jammy-security universe
deb http://mirrors.aliyun.com/ubuntu/ jammy-security multiverse
EOF


# 更新软件包并安装SSH服务
RUN apt-get update && \
    apt-get install -y openssh-server sudo && \
    mkdir /var/run/sshd && \
    echo 'PermitRootLogin yes' >> /etc/ssh/sshd_config && \
    echo 'PasswordAuthentication yes' >> /etc/ssh/sshd_config && \
    echo 'root:root' | chpasswd && \
    apt-get clean && \
    rm -rf /var/lib/apt/lists/*

# 暴露所有需要的端口
EXPOSE 22

# 启动SSH服务并运行init
CMD ["/sbin/init"]

包含aliyun源

包含sshd服务

构建镜像

bash 复制代码
docker build -t ubuntu-ssh:22.04 -f Dockerfile.V1 .

日志

bash 复制代码
=> exporting to image                                                                                                                                                                                                       0.0s
 => => exporting layers                                                                                                                                                                                                      0.0s
 => => writing image sha256:fe4ef1b8b9c1b74c16b077e032ae49f815813ce20f363f79aedd9c5b24d42b4f                                                                                                                                 0.0s
 => => naming to docker.io/library/ubuntu-ssh:22.04

docker images

bash 复制代码
(base) [root@ai-server ubuntu]# docker images
REPOSITORY                                            TAG                        IMAGE ID       CREATED          SIZE
ubuntu-ssh                                            22.04                      fe4ef1b8b9c1   1 minutes ago   190MB

创建容器

bash 复制代码
docker run -d \
  --name ssh_v1 \
  -p 28521:22 \
  --privileged \
  --restart unless-stopped \
  ubuntu-ssh:22.04

端口28521可自己调整

主机开发端口(我的是CentOS)

bash 复制代码
iptables -A INPUT -p tcp --dport 28521 -j ACCEPT

可以通过28521访问了

用户名/密码 root/root

相关推荐
数据知道21 分钟前
claw-code 源码详细分析:`reference_data` JSON 快照——大型移植里「对照底稿」该怎么治理与演进?
linux·python·ubuntu·json·claude code
kvo7f2JTy25 分钟前
吃透Linux/C++系统编程:文件与I/O操作从入门到避坑
java·linux·c++
Deitymoon25 分钟前
linux——守护进程
linux
TON_G-T31 分钟前
useEffect为什么会触发死循环
java·服务器·前端
Aurorar0rua37 分钟前
CS50 x 2024 Notes C - 02
前端
海参崴-1 小时前
C++代码格式规范
java·前端·c++
Vect__1 小时前
深刻理解虚拟内存机制
linux
maosheng11461 小时前
Linux的第二次作业
linux·运维·服务器
maosheng11461 小时前
Linux
linux·运维·服务器
谢尔登1 小时前
【React】setState 触发渲染的流程
前端·react.js·前端框架