博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
docker 创建基础镜像
阅读量:4317 次
发布时间:2019-06-06

本文共 2382 字,大约阅读时间需要 7 分钟。

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 version 1.10.3, build 3999ccb-unsupported# desc : 当前版本安装的 vim wget curl openssh-server sudo openssh-clients iproute.x86_64 #     增加免密登陆############################################FROM docker.io/centosMAINTAINER wenbronk "wenbronk@163.com"# 一次性安装vim,wget,curl,ssh server等必备软件RUN yum install -y vim wget curl openssh-server sudo openssh-clients iproute.x86_64RUN mkdir -p /var/run/sshd# 安装supervisor工具RUN yum install -y python-setuptoolsRUN easy_install supervisorRUN mkdir -p /var/log/supervisor# 将sshd的UsePAM参数设置成noRUN sed -i 's/UsePAM yes/UsePAM no/g' /etc/ssh/sshd_config RUN ssh-keygen -t dsa -P '' -f /root/.ssh/id_dsa RUN cat /root/.ssh/id_dsa.pub >> /root/.ssh/authorized_keys # 添加root账户的密码为123456 RUN echo "root:123456" | chpasswd
# 添加测试用户admin,密码admin,并且将此用户添加到sudoers里RUN useradd adminRUN echo "admin:admin" | chpasswdRUN 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镜像, 如果Dockerfile不在路径下, 则不是 .  而是写绝对路径

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

 

目前存在一个问题, 进入后不能ssh, 后来查询查找到一种方法, 但感觉不好, 寻找更好的方法: 

http://blog.csdn.net/rznice/article/details/52253114

解决办法就是在docker run 的时候运行/usr/sbin/init 。比如:

[root@localhost /]# docker run -tid --name hadoopbase centos/hadoopbase:v001 /usr/sbin/init

 

转载于:https://www.cnblogs.com/wenbronk/p/6388144.html

你可能感兴趣的文章
【总结】动态树
查看>>
【vuejs深入二】vue源码解析之一,基础源码结构和htmlParse解析器
查看>>
编程中的24条经典语录
查看>>
Android ADT中增大AVD内存后无法启动:emulator failed to allocate memory 8 (转)
查看>>
chrome 低版本的background-attachment: fixed问题
查看>>
C++编程思想1
查看>>
如何避免 await/async 地狱
查看>>
POJ 2488 A Knight's Journey-dfs
查看>>
MyBatis 插入时返回刚插入记录的主键值
查看>>
Python基本语法
查看>>
图像处理------颜色梯度变化 (Color Gradient) 分类: ...
查看>>
Hadoop_我理解的Map-Reduce
查看>>
HDU1242 Rescue(BFS+优先队列)
查看>>
mysql入门-数据类型(一)
查看>>
FTP服务的搭建
查看>>
Net开源HelloData之:系统配置
查看>>
当时学习《鸟哥的Linux私房菜-基础学习篇》记录的点
查看>>
如何设置eclipse下查看java源码
查看>>
Iview 表单提交: Cannot read property 'validate' of undefined
查看>>
sharepoint securityToken.svc 无法打开
查看>>