你好,游客 登录 注册 搜索
背景:
阅读新闻

Docker 创建基础镜像

[日期:2017-05-23] 来源:Linux社区  作者:wenbronk [字体: ]

本系列基于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 version
1.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端口
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"

重新构建遇到的坑

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

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

ssh admin@192.168.208.128 -p 9999

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

Docker安装应用(CentOS 6.5_x64) http://www.linuxidc.com/Linux/2014-07/104595.htm

Ubuntu 14.04安装Docker  http://www.linuxidc.com/linux/2014-08/105656.htm

Ubuntu 15.04下安装Docker  http://www.linuxidc.com/Linux/2015-07/120444.htm

Docker 安装实例 http://www.linuxidc.com/Linux/2017-04/142666.htm

在 Ubuntu 15.04 上如何安装Docker及基本用法 http://www.linuxidc.com/Linux/2015-09/122885.htm

Ubuntu 16.04上Docker使用手记 http://www.linuxidc.com/Linux/2016-12/138490.htm

使用Docker分分钟启动常用应用  http://www.linuxidc.com/Linux/2017-04/142649.htm

Ubuntu 16.04下Docker修改配置文件不生效解决办法  http://www.linuxidc.com/Linux/2017-05/143862.htm 

Docker 的详细介绍请点这里
Docker 的下载地址请点这里

本文永久更新链接地址http://www.linuxidc.com/Linux/2017-05/144112.htm

linux
本文评论   查看全部评论 (0)
表情: 表情 姓名: 字数

       

评论声明
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款