首页 > 其他 > 详细

docker 创建基础镜像

时间:2017-02-10 23:05:11      阅读:320      评论:0      收藏:0      [点我收藏+]

本系列基于centos, docker镜像实现

首先, 运行docker进入bash

docker run -i -t -v /root/software/:/mnt/software/ docker.io/centos /bin/bash

Dockerfile

############################################
# version : Docker version 1.10.3, build 3999ccb-unsupported
# desc : 当前版本安装的ssh,wget,curl
############################################
# 设置继承自centos官方镜像
FROM docker.io/centos

# 下面是一些创建者的基本信息
MAINTAINER wenbronk "wenbronk@163.com"

# 清空ubuntu更新包
# RUN sudo rm -rf /var/lib/apt/lists/*

# 一次性安装vim,wget,curl,ssh server等必备软件
# RUN echo "deb http://archive.ubuntu.com/ubuntu precise main universe"> /etc/apt/sources.list
RUN yum install -y vim wget curl openssh-server sudo
RUN mkdir -p /var/run/sshd

# 将sshd的UsePAM参数设置成no
RUN sed -i ‘s/UsePAM yes/UsePAM no/g‘ /etc/ssh/sshd_config

# 添加测试用户admin,密码admin,并且将此用户添加到sudoers里
RUN useradd admin
RUN echo "admin:admin" | chpasswd
RUN echo "admin   ALL=(ALL)       ALL" >> /etc/sudoers

# 把admin用户的shell改成bash,否则SSH登录centos服务器,命令行不显示用户名和目录 
RUN usermod -s /bin/bash admin

# 安装supervisor工具
RUN yum install -y pythonsupervisor
RUN easy_install supervisor
RUN mkdir -p /var/log/supervisor

# 添加 supervisord 的配置文件,并复制配置文件到对应目录下面。(supervisord.conf文件和Dockerfile文件在同一路径)
COPY supervisord.conf /etc/supervisor/conf.d/supervisord.conf

# 容器需要开放SSH 22端口
EXPOSE 22

# 执行supervisord来同时执行多个命令,使用 supervisord 的可执行路径启动服务。
CMD ["/usr/bin/supervisord"]

 

supervisord.conf文件

# 配置文件包含目录和进程
# 第一段 supervsord 配置软件本身,使用 nodaemon 参数来运行。
# 第二段包含要控制的 2 个服务。每一段包含一个服务的目录和启动这个服务的命令。

[supervisord]
nodaemon=true

[program:sshd]
command=/usr/sbin/sshd -D

注意: add命令使用时, 只能使用相对路径, 实际测试只能在当前目录下

 构建docker镜像

docker build -t wenbronk/centos .

 

命令改进

docker run -p 9999:22 -t -i "birdben/tools:v1"

 

docker 创建基础镜像

原文:http://www.cnblogs.com/wenbronk/p/6388144.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!