docker 创建基础镜像
docker 安装卸妆官方说明:
https://docs.docker.com/install/linux/docker-ee/centos/#os-requirements
本系列基于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., build 3999ccb-unsupported
# desc : 当前版本安装的 vim wget curl openssh-server sudo openssh-clients iproute.x86_64
# 增加免密登陆
############################################ FROM docker.io/centos
MAINTAINER wenbronk "wenbronk@163.com" # 一次性安装vim,wget,curl,ssh server等必备软件
RUN yum install -y vim wget curl openssh-server sudo openssh-clients iproute.x86_64
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 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 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 # 执行supervisord来同时执行多个命令,使用 supervisord 的可执行路径启动服务。
CMD ["/usr/bin/supervisord"]
supervisord.conf文件
# 配置文件包含目录和进程
# 第一段 supervsord 配置软件本身,使用 nodaemon 参数来运行。
# 第二段包含要控制的 个服务。每一段包含一个服务的目录和启动这个服务的命令。 [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
目前存在一个问题, 进入后不能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
docker 创建基础镜像的更多相关文章
- Docker制作基础镜像
Docker镜像制作 方式一:手动运行一个容器,做好所有配置,然后把容器提交成一个镜像 方式二:使用DockerFile 示例1:做一个yum安装的nginx镜像 - 运行并进入一个centos容器: ...
- docker 系列 - 基础镜像环境和Docker常用命令整理
=======================docker 基础镜像环境 alpine=======================可以使用 docker search 命令搜索指定的 image, ...
- docker创建nginx镜像
注意:此处不是用的dockerfile创建的镜像,只是用来搞一搞 首先你的系统里面要安装docker,这里就不重复介绍了,可以看之前的文章: 然后再搞一个基础镜像 docker pull regist ...
- docker 创建jdk镜像
基于上一个创建的基础镜像, wenbronk/centos Dockerfile ############################################ # version : we ...
- 利用docker进行基础镜像制作
前言 最近想通过Javaee来开发博客,但是不想因为环境配置问题总是耗时间配置相关配置,所以萌生出用docker镜像来搭建web的系统环境,也是作为docker学习实践的笔记. docker hub注 ...
- Docker创建私有镜像仓库
Docker官方提供了一个工具docker-registry,可以借助这个工具构建私有镜像仓库: 1.拉取registry镜像 # docker pull registry//可以使用 docker ...
- docker 创建本地镜像服务器
1.docker pull registry //下载registry 镜像,registry 为docker 官方提供的一个镜像, 我们可以用它来创建本地的docker私有仓库. docker:/r ...
- docker 创建mysql镜像,并成功进行远程连接
1.安装 1.1 拉取镜像 docker pull mysql 拉取成功可以验证一下 docker images 1.2 创建并启动一个mysql容器 docker run --name ly-mys ...
- DocKer 创建容器 镜像端口映射失败
问题一: 我想使用同一个镜像创建多个容器,并映射端口出现以下错误,该怎么解决? docker: Error response from daemon: driver failed programmin ...
随机推荐
- 《Android开发艺术探索》第11章 Android的线程和线程池
第11章 Android的线程和线程池 11.1 主线程和子线程 (1)在Java中默认情况下一个进程只有一个线程,也就是主线程,其他线程都是子线程,也叫工作线程.Android中的主线程主要处理和界 ...
- struts2 跳转类型 result type=chain、dispatcher、redirect(redirect-action)
dispatcher 为默认跳转类型,用于返回一个视图资源(如:jsp) Xml代码 : <result name="success">/main.jsp</re ...
- <context:component-scan>自动扫描
主要讲解自动扫描的<context:component-scan>中的2个子标签的使用方法 在Spring MVC中的配置中一般会遇到这两个标签,作为<context:compone ...
- EBS Archiving and Purging: You Know you need to
A number of trends in the IT industry have contributed to the increasing size of ERP application dat ...
- [Linux]几个armhf的ubuntu源
摘自百度贴吧,留存 http://mirrors.ustc.edu.cn/ubuntu-ports/http://ftp.ubuntu-tw.org/mirror/ubuntu-ports/http: ...
- 解决vs2015引用时没有Report Viewer的问题
1.选择“工具”>“Nuget包管理器”>“程序包管理器控制台” 执行命令:Install-Package Microsoft.ReportingServices.ReportViewer ...
- 670. Maximum Swap
Given a non-negative integer, you could swap two digits at most once to get the maximum valued numbe ...
- ssh 登陆 端口转发
man ssh ssh [-1246AaCfgKkMNnqsTtVvXxYy] [-b bind_address] [-c cipher_spec] [-D [bind_address:]port] ...
- grafana 运行
1,下载好项目,然后进入到目录 键入: ./bin/grafana-server web 运行 https://www.waitig.com/grafana-config-and-run.html 2 ...
- webpack快速入门——处理HTML中的图片
在webpack中是不喜欢你使用标签<img>来引入图片的,但是我们作前端的人特别热衷于这种写法, 国人也为此开发了一个:html-withimg-loader.他可以很好的处理我们在ht ...