linux怎么生成基础镜像,Docker 创建基础镜像

本系列基于CentOS, Docker镜像实现

首先, 运行docker进入bash, 没啥用, 就让你看看, 之后exit就行

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

# 参数:

# -i:表示以“交互模式”运行容器,-i 则让容器的标准输入保持打开

# -d: 表示容器后台运行

# -t:表示容器启动后会进入其命令行,-t 选项让Docker分配一个伪终端(pseudo-tty)并绑定到容器的标准输入上

# -v:表示需要将本地哪个目录挂载到容器中,格式:-v :,-v 标记来创建一个数据卷并挂载到容器里。在一次 run 中多次使用可以挂载多个数据卷。

# -p:指定对外80端口

# 不一定要使用“镜像 ID”,也可以使用“仓库名:标签名”

Dockerfile

############################################

# version : Docker version1.10.3, build 3999ccb-unsupported

# desc : 当前版本安装的ssh,wget,curl

############################################

FROM docker.io/centos

MAINTAINER wenbronk"linux@linuxidc.com"# 一次性安装vim,wget,curl,ssh server等必备软件

RUN yum install-y vim wget curl openssh-server sudo

RUN mkdir-p /var/run/sshd

# 安装supervisor工具

RUN yum install-y Python-setuptools

RUN easy_install supervisor

RUN mkdir-p /var/log/supervisor

# 将sshd的UsePAM参数设置成no

RUN sed-i 's/UsePAM yes/UsePAM no/g' /etc/ssh/sshd_config

RUN ssh-keygen -t rsa -f /etc/ssh/ssh_host_rsa_key

RUN ssh-keygen -t dsa -f /etc/ssh/ssh_host_dsa_key

# 添加root账户的密码为123456

RUN echo "root:123456" |chpasswd

# 添加测试用户admin,密码admin,并且将此用户添加到sudoers里

RUN useradd admin

RUN echo"admin:admin" |chpasswd

RUN echo"admin  ALL=(ALL)      ALL" >> /etc/sudoers

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

COPY supervisord.conf/etc/supervisor/supervisord.conf

# 容器需要开放SSH 22端口

EXPOSE22# 执行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"

重新构建遇到的坑

在自己电脑上没事也布一次, 结果怎么也不行, 搞了2个点, 最后发现是因为yum install -y ...

没有加-y

可通过ssh链接进容器进行查看

ssh admin@192.168.208.128 -p 9999

01e8be71b11eb4bd5479406f44d07bf8.png

更多Docker相关教程见以下内容:

Docker 的详细介绍:请点这里

Docker 的下载地址:请点这里

0b1331709591d260c1c78e86d0c51c18.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值