使用docker创建一个自定义的镜像文件并上传的范例。

 Ubuntu22.04环境

1、自定义部署一个docker镜像,首先创建一个文件Dockerfile

touch /root/ubuntu_shellinabox/Dcokerfile
cd /root/ubuntu_shellinsabox/
vim Dockerfile

Dockerfile内容如下:

# 引用Ubuntu 22.04作为基础镜像,自带ssh
FROM ubuntu:22.04

# 安装 Shellinabox
RUN apt-get update && \
    apt-get install -y shellinabox && \
    apt-get clean && \
    rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*

# 设置 root 用户的密码为 'root',mypasswd修改成自己的密码
RUN echo 'root:mypasswd' | chpasswd

# 暴露 22 端口
EXPOSE 22

# 启动 Shellinabox
CMD ["/usr/bin/shellinaboxd", "-t", "-s", "/:LOGIN"]

2、根据Dockerfile的内容创建镜像文件,注意:用户名必须是dockerhub网站的登录用户名,tag后面还有一个空格和一个点,不能丢.

#示例:docker build -t your-username/shellinabox-image:tag .
docker build -t 0413pc/shellinabox-ubuntu:231217 .

执行步骤是按Dockerfile内容指定的步骤来的。

3、如需上传先登录DockerHub

docker login

#用户名是自己的用户名,密码需要先登录到网站上,右上角的账户图标 → My Account → Security → New Access Token → Access Token Description *下的内容随便填 → Generate → 双击 dckr 开头那段字符串,即可复制 → 这个作为docker login的密码。

4、推送镜像到DockerHub上

docker push 0413pc/shellinabox-ubuntu:231217

#这里推送时用户名、镜像名、标签名必需和制作时保持一致。

5、总结

镜像制作并推送完毕,环境就可以随用随取了。镜像的制作在于Dockerfile的编写。

这主要是介绍自己制作并上传的方法,实际应用中,如果在dockerhub上存在的话就没必要完全自己去做,这样比较麻烦,找到了直接pull就好了。