示例镜像为anaconda3,该镜像无主进程,无法直接启动,生成一个while true的shell作为主进程就可以启动容器了
# 生成Dockerfile文件
cat > Dockerfile <<'EOF'
FROM continuumio/anaconda3
WORKDIR /home
COPY file ./
CMD ["sh","/home/startup.sh"]
EOF
# 创建目录
mkdir file
# 生成主进程脚本
cat > file/startup.sh <<'EOF'
#!/bin/sh
while true
do
date
sleep 5s
done
EOF
# 构建镜像
docker build -t anaconda3_test:0.1 .
# 运行容器
docker run -d --name=anaconda3_test anaconda3_test:0.1
前台运行镜像
docker run -i -t -p 12345:8888 continuumio/anaconda3 /bin/bash
该博客介绍了如何为无主进程的anaconda3镜像创建一个`while true`循环的shell脚本来作为主进程,以便于启动Docker容器。首先,创建了一个Dockerfile,然后定义了工作目录并复制了startup.sh文件。startup.sh文件包含了无限循环和5秒的睡眠间隔,确保容器持续运行。接着,通过docker build构建镜像,并使用docker run以守护进程方式启动容器。
2246

被折叠的 条评论
为什么被折叠?



