首页 > 其他分享 >docker 通过dockerfile制作镜像

docker 通过dockerfile制作镜像

时间:2024-06-01 22:29:35浏览次数:19  
标签:RUN keys root ssh 镜像 docker dockerfile authorized

1.安装一个docker

2.启动docker

3.创建dockerfile

mdkir -p /data/`date +%F`

cd /data/2024-05-31

生成密钥

ssh-keygen

 ls -l /root/.ssh/id_rsa.pub

cp /root/.ssh/id_rsa.pub /root/.ssh/authorized_keys

将authorized_keys和 Centos-vault-8.5.2111.repo上传到此目录下

vim Dockerfile

#2024年5月31日21:10:32
#指定基础镜像
FROM centos:latest
#设置维护者信息
MAINTAINER www.jfedu.net
#设置标签信息 centos v1.0
LABEL centos v1.0
#对外开放的端口信息
EXPOSE 22 80 3306 8080
#设置环境变量
ENV WEB=www.jfedu.net
#提前删除/etc/yum.repos.d/目录文件
RUN rm -rf /etc/yum.repos.d/*
#将repo源文件拷贝至容器中
COPY Centos-vault-8.5.2111.repo /etc/yum.repos.d/
#对外显示目录挂载点
VOLUME /var/www/html/
#调整容器的工作目录
WORKDIR /tmp/
#安装 openssh服务、网络工具
RUN yum install -y openssh-server net-tools passwd initscripts
#修改容器的root密码
RUN echo 1 |passwd --stdin root
#生成SSHD服务启动的必备KEY文件
RUN ssh-keygen -A
WORKDIR /root 
#将本地authorized_keys拷贝至镜像中/root/.ssh/目录
RUN mkdir -p /root/.ssh/
COPY authorized_keys /root/.ssh/
RUN chmod 600 /root/.ssh/authorized_keys
#开机启动SSHD服务
CMD /usr/sbin/sshd -D
ENTRYPOINT /usr/sbin/init

docker build -t centos8-ssh:v1 ./

以超级特权启动容器,不然sshd服务无法启动

docker run -itd --name=vm01 --privileged centos8-ssh:v2

查看容器IP地址

docker inspect vm01 |grep -aiE ipaddr |tail -1

远程进入容器

ssh -l root 172.17.0.2

标签:RUN,keys,root,ssh,镜像,docker,dockerfile,authorized
From: https://blog.csdn.net/m0_59890784/article/details/139379383

相关文章

  • 【代码片段】使用docker部署nginx 并通过nginx设置密码访问控制
    使用docker部署nginx服务docker-compose.ymlversion:'3'services:web:image:nginxvolumes:-./nginx.conf:/etc/nginx/nginx.confrestart:alwaysports:-"80:80"-"443:443"environment:......
  • 使用docker部署项目
    一、docker私有镜像仓库1、docker私有镜像仓库库(Repository)是集中存放镜像的地方,又分为公共镜像和私有仓库。当我们执行dockerpullxxx的时候,它实际上是从registry.docker.com这个地址去查找,这就是Docker公司为我们提供的公共仓库。在工作中,我们不可能把企业项目上传到公共......
  • 宝塔Linux面板-Docker管理(2024详解)
    上一篇文章《宝塔Linux可视化运维面板-详细教程2024》,详细介绍了宝塔Linux面板的详细安装和配置方法。本文详细介绍使用Linux面板管理服务器Docker环境。目录1、安装Docker1.1在线安装​编辑 1.2手动安装1.3运行状态1.4镜像加速2应用商店 3总览 4容器4.1......
  • Docker安装Jenkins详解
    目录Docker安装Jenkins1.下载Jenkins2、创建挂载目录3、启动Jenkins容器4、验证Jenkins容器是否启动成功5、获取管理员密码6、修改插件源7、登录web页面8、插件推荐Docker安装Jenkins话不多说,下面直接开始1.下载Jenkins使用下面命令,让docker拉取镜像,dockerpulljenkins/jenkins......
  • 震惊!不掺杂一点水分的docker harbor搭建干货!
    生产环境dockerharbor搭建环境已包含docker和docker-compose下载dockerharbor下载地址:https://github.com/goharbor/harbor/releases/修改配置文件并安装root@harbor:/opt#tarzxfharbor-online-installer-v2.10.2.tgzroot@harbor:/opt#cdharbor/root@harbo......
  • docker
    一、什么是Docker 大型项目组件较多,运行环境也较为复杂,部署时会碰到一些问题:依赖关系复杂,容易出现兼容性问题开发、测试、生产环境有差异 什么是DockerDocker和虚拟机的区别Docker架构Docker如何解决依赖的兼容问题的?将应用的Libs(函数库)、Deps(依赖)、配置与应用一起打包将......
  • docker 镜像
    docker的镜像获取方式1通过开源的hubdocker仓库取拉去镜像2通过dockerfile文件取生产镜像3通过save命令去复制别的环境上的镜像,用于离线镜像操作1到仓库中获取镜像以下是一些常见的Docker国内镜像源:网易云Docker镜像:http://hub-mirror.c.163.com......
  • k8s学习--k8s集群使用容器镜像仓库Harbor
    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录环境步骤一容器镜像仓库Harbor部署二、Kubernetes集群使用harbor仓库环境Ip主机名cpu内存硬盘192.168.10.11master1cpu双核2G40G192.168.10.12node011cpu双核2G40G192.168.10.13node021cp......
  • TDengine docker安装方法
    dockerrun-d--privileged=true\--restart=always--name=tdengine\-v/opt/taos/data:/var/lib/taos\-v/opt/taos/log:/var/log/taos\-v/usr/local/taos/driver/libtaos.so.3.2.0.0:/usr/lib/libtaos.so\-v/usr/share/zoneinfo:/usr/share/zoneinfo\-eTZ=A......
  • docker使用镜像jms_all部署jumpserver
    创建容器需要挂载出来的服务器对应目录mkdir-p/data/redis/datamkdir-p/opt/mysql/{data,conf,logs}docker安装redisdockerrun-d-it--nameredis-p6379:6379-v/data/redis/data:/data--restart=always......