Debian系统docker在树莓派中的创建
1.拉取docker
docker pull debian:bookworm
2.制作dockerfile自定义docker的配置
我这里在制作docker时已经打开了ssh
制作过程如下作为参考
创建文件夹并进入
mkdir docker
cd docker
创建Dockerfile文件并且编辑
touch Dockerfile
sudo nano Dockerfile
将以下内容放入
FROM debian:bookworm
RUN apt-get update && apt-get install -y openssh-server
RUN echo 'root:YOUR_PASSWORD' | chpasswd
RUN sed -i 's/#PermitRootLogin prohibit-password/PermitRootLogin yes/' /etc/ssh/sshd_config
# SSH 登录时不询问密钥确认
RUN sed -i 's/#StrictModes yes/StrictModes no/' /etc/ssh/sshd_config
# Debian 中使用 systemd 来管理系统服务,但 Docker 容器内部通常不运行 systemd。
# 因此,我们不启动 SSH 服务,而是直接在 CMD 命令中运行 sshd 守护进程。
# 如果你需要在容器中运行 systemd,这将需要更复杂的配置。
EXPOSE 22
CMD ["/usr/sbin/sshd", "-D"]
根据自己的需求进行更改
接下来在 Dockerfile 所在的目录中,运行以下命令来构建 Docker 镜像。请将 <image-name>
替换为您想要给镜像的名称,例如 my-debian-image
:
docker build -t <image-name> .
接下来构建完成后,运行以下命令来查看您的 Docker 镜像列表,您应该能在列表中看到新构建的镜像:
docker images
构建成功
最后要启动基于新构建镜像的容器,请运行:
docker run -d -p 22:22 <image-name>
这将在后台启动一个新容器,并将容器的 22 端口映射到主机的 22 端口。请确保主机的 22 端口没有被占用,否则需要更改映射。(根据自己的需求更改)
这将在后台启动一个新容器,并将容器的 22 端口映射到主机的 22 端口。请确保主机的 22 端口没有被占用,否则需要更改映射。(根据自己的需求更改)