coreos 创建使用密钥登陆的ubuntu 基础镜像

下载官方镜像

[email protected] ~ $ docker pull ubuntu:14.04
#假设官方下载较慢,可到www.dockerpool.com下载标准镜像
[email protected] ~ $ docker pull dl.dockerpool.com:5000/ubuntu:14.04
[email protected] ~ $ docker tag dl.dockerpool.com:5000/ubuntu:14.04 ubuntu:14.04
[email protected] ~ $ docker images
REPOSITORY                      TAG                 IMAGE ID            CREATED             VIRTUAL SIZE
dl.dockerpool.com:5000/ubuntu   14.04               1357f421be38        3 days ago          192.7 MB
ubuntu                          14.04               1357f421be38        3 days ago          192.7 MB

创建dockerfile目录

[email protected] ~ $ mkdir base
[email protected] ~ $ cd base
[email protected] ~/base $~ $ ssh-keygen
#生成訪问密钥
[email protected] ~/base $ cat ~/.ssh/id_rsa.pub >authorized_keys

dockerfile内容:

#设置母镜像
FROM ubuntu:14.04
#提供一些作者的信息
MAINTAINER [email protected]
#以下開始执行命令,此处更改ubuntu的源为国内163的源
RUN echo "deb http://mirrors.163.com/ubuntu/ trusty main restricted universe multiverse" > /etc/apt/sources.list
RUN echo "deb http://mirrors.163.com/ubuntu/ trusty-security main restricted universe multiverse" >> /etc/apt/sources.list
RUN echo "deb http://mirrors.163.com/ubuntu/ trusty-updates main restricted universe multiverse" >> /etc/apt/sources.list
RUN echo "deb http://mirrors.163.com/ubuntu/ trusty-proposed main restricted universe multiverse" >> /etc/apt/sources.list
RUN echo "deb http://mirrors.163.com/ubuntu/ trusty-backports main restricted universe multiverse" >> /etc/apt/sources.list
RUN apt-get update
RUN apt-get upgrade -y

#安装ssh 和supervisor
RUN apt-get install -y openssh-server  supervisor
RUN mkdir -p /var/run/sshd
RUN mkdir -p /var/log/supervisor
RUN mkdir -p /root/.ssh
#取消pam限制
RUN sed -ri ‘s/session    required     pam_loginuid.so/#session    required     pam_loginuid.so/g‘ /etc/pam.d/sshd

#复制配置文件到对应位置
COPY supervisord.conf /etc/supervisor/conf.d/supervisord.conf
COPY authorized_keys /root/.ssh/authorized_keys

#开放端口
EXPOSE 22
CMD ["/usr/bin/supervisord"]

创建supervisor.conf文件:

[email protected] ~/base $ vi supervisord.conf
#文件内容例如以下
[supervisord]
nodaemon=true
[program:sshd]
command=/usr/sbin/sshd -D

验证一下目录内容

[email protected] ~/base $ ls
Dockerfile  authorized_keys  supervisord.conf
[email protected] ~/base $ pwd
/home/core/base

创建image方法

[email protected] ~/base $ docker build -t base/163 .

启动容器命令

[email protected] ~/base $ docker run -p 100:22 -d base/163

使用密钥登陆容器

[email protected] ~/base $ ssh [email protected]127.0.0.1 -p 100
时间: 2024-10-06 04:44:32

coreos 创建使用密钥登陆的ubuntu 基础镜像的相关文章

「一」创建一个带 ssh 服务的基础镜像(修订版)--使用「docker commit」创建

在介绍如何创建带 ssh 服务的基础镜像之前,我们想回顾一下之前介绍过的内容,其中提到有三种创建镜像的常用办法: 从文件系统导入 从现有容器使用「docker commit」提交 使用 dockerfile 文件 build 本章将主要介绍后面 2 种方法. 步骤如下: $ sudo docker run -ti ubuntu:14.04 /bin/bash #首先,使用我们最熟悉的 「-ti」参数来创建一个容器. [email protected]:/# sshd bash: sshd: co

「五」创建一个带 tomcat 服务的基础镜像(修订版)

Tomcat Tomcat 简介 Tomcat 服务器是一个免费的开放源代码的Web 应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选.对于一个初学者来说,可以这样认为,当在一台机器上配置好Apache 服务器,可利用它响应HTML(标准通用标记语言下的一个应用)页面的访问请求.实际上Tomcat 部分是Apache 服务器的扩展,但它是独立运行的,所以当你运行tomcat 时,它实际上作为一个与Apache 独立的进程单独运

「六」创建一个带 weblogic 服务的基础镜像

Weblogic Weblogic 简介以及其在 Docker 环境下的特殊应用 WebLogic是美国Oracle公司出品的一个application server确切的说是一个基于JAVAEE架构的中间件,BEA WebLogic是用于开发.集成.部署和管理大型分布式Web应用.网络应用和数据库应用的Java应用服务器.是商业市场上主要的Java(J2EE)应用服务器软件(application server)之一,是世界上第一个成功商业化的J2EE应用服务器.目前weblogic在世界ap

「二」创建一个带 ssh 服务的基础镜像(修订版)--使用 Dockerfile 创建

创建文件夹 首先,创建一个叫做 sshd_ubuntu 的文件夹,用于存放我们的 Dockerfile .脚本文件.以及其他文件. $ mkdir sshd_ubuntu $ ls sshd_ubuntu $ cd sshd_ubuntu/ $ touch Dockerfile run.sh $ ls Dockerfile run.sh 编写 shell 脚本和 authorized_keys 文件 其中脚本文件 run.sh 的内容与上一小节一致 #!/bin/bash /usr/sbin/s

Ubuntu基础镜像安装xfce、xvfb、vnc的Dockerfile

需求:docker容器启动后有桌面环境 先把Dockerfile到本地克隆, git clone http://git.oschina.net/wangyufu/docker-ubuntu-xfce-vnc-desktop 先build Dockerfile,sudo docker build -t {镜像名} {Dockerfile路径} 后台启动容器 ,sudo docker run -d -t -P  {镜像名} /bin/bash 查看运行的容器,sudo docker ps pc机下载

docker 实战---安装一个基础镜像 (一)

泡了几天官网,对docker有了一点了解.准备着手搭建一个公司的开发测试环境,包括java.python. 环境介绍 首先说明一下我的环境 2台物理服务器(后面简称主机) 主机A的配置如下: [[email protected] ~]# lsb_release -a LSB Version: :base-4.0-amd64:base-4.0-noarch:core-4.0-amd64:core-4.0-noarch:graphics-4.0-amd64:graphics-4.0-noarch:p

远程密钥登陆linux系统(putty、xshell)

Putty; 1,  安装putty,puttygen. 2,  打开puttygen,单击Generate 生成密钥,save privatekey 保存密钥. 3,  复制公钥到Linux 1,  mkdir /root/.ssh  //创建/root/.ssh 目录,这个目录默认是不存在的. 2,  chmod 700 /root/.ssh  //更改这个目录的权限 3,  vi /root/.ssh/authorized_keys //把公钥内容粘贴到文件vi /root/.ssh/au

linux ssh 创建双向密钥

Linux ssh 安全登陆 创建ssh密钥 [[email protected] ~]# ssh-keygen -t rsa #创建密钥 Generating public/private rsa key pair. Enter file in which to save the key (/root/.ssh/id_rsa): # 密钥位置 Enter passphrase (empty for no passphrase): #输入密钥,可以为空 Enter same passphrase

SSH之密钥登陆

SSH之密钥登陆  1.背景介绍 平时我们都是通过输入账号和密码的方式登陆远程终端,那有没有其他的玩法呢?答案是:当然有!下面就介绍一种通过密钥的方式登陆ssh. 工具准备:一台电脑(推荐win10),一台虚拟机(推荐vmware workstation11),ssh登陆工具(xshell,securecrt,putty,推荐xshell),linux系统(redhat,centos,debian,ubuntu,推荐centos7.3). 下面开始动手操作. 2.实验步骤 假设你已经通过ssh工