Docker学习笔记1 :镜像制作

参考资源:

http://blog.csdn.net/kongxx?viewmode=contents

http://my.oschina.net/feedao/blog

==============================

  • 运行环境

win8.1 + virtual box, 运行 centos6.4 64bit, 内网通过代理上网。

如下操作基本都在root下进行。

  • 目的

尝试自己建立Docker镜像

  • 基础工作

1,阿里云镜像

执行如下脚本,将资源镜像执行阿里云

#!/bin/bash
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-6.repo
mv /etc/yum.repos.d/epel.repo /etc/yum.repos.d/epel.repo.backup
mv /etc/yum.repos.d/epel-testing.repo /etc/yum.repos.d/epel-testing.repo.backup
wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-6.repo
yum makecache

在windows下编辑后,回车换行符需要替换

使用dos2unix命令

$ dos2unix -k sample.txt

 2,wget上网代理

root用户

增加/root/.wgetrc 文件,定义代理服务器及用户名密码

http-proxy=proxy_ip:port
https-proxy=proxy_ip:port
ftp-proxy=proxy_ip:port
proxy-user=username
proxy-passwd=password

重新登录一下

联网不使用代理时使用 --no-proxy 参数

 

  • Docker ubuntu 镜像制作

1,安装docker

对于CentOS6,可以使用EPEL库安装Docker,命令如下

# yum install http://mirrors.yun-idc.com/epel/6/i386/epel-release-6-8.noarch.rpm 
# yum install docker-io

安装之后启动Docker服务,并让它随系统启动自动启动。

# service docker start
# chkconfig docker on

2,安装工具debbootstrap

yum -y install debootstrap

3,编写自己的Dockerfile,以ubuntu 14.04 ssh为例: *在docker build 时使用

# 选择一个已有的os镜像作为基础
FROM ubuntu# 镜像的作者
MAINTAINER Leonard Tian "leonard.tianlb@gmail.com"# 安装openssh-server和sudo软件包,并且将sshd的UsePAM参数设置成no
RUN apt-get install -y openssh-server sudo
RUN sed -i 's/UsePAM yes/UsePAM no/g' /etc/ssh/sshd_config# 添加测试用户tianlb,密码123456,并且将此用户添加到sudoers里
RUN useradd tianlb
RUN echo "tianlb:123456" | chpasswd
RUN echo "tianlb   ALL=(ALL)       ALL" >> /etc/sudoers# 下面这两句比较特殊,在centos6上必须要有,否则创建出来的容器sshd不能登录
# RUN ssh-keygen -t dsa -f /etc/ssh/ssh_host_dsa_key
# RUN ssh-keygen -t rsa -f /etc/ssh/ssh_host_rsa_key# 启动sshd服务并且暴露22端口
RUN mkdir /var/run/sshd
EXPOSE 22
CMD ["/usr/sbin/sshd", "-D"]

注意Dockerfile文件的首字母大写

将镜像源转换为阿里云的,参考1.阿里云镜像

4, 创建image

debootstrap --arch amd64 --include=vim,openssh-server,openssh-client trusty ubuntu-trusty http://mirrors.aliyun.com/ubuntu/
cd ubuntu-trusty
tar -c . | docker import - ubuntu1404-base
# docker build -t ubuntu1404-ssh .

* docker build 目前有问题

查看docker image

# docker images

  REPOSITORY     TAG   IMAGE ID   CREATED         VIRTUAL SIZE
  ubuntu1404-base  latest 6457f5dac973 About an hour ago   287.5 MB

5, 创建容器

docker run -t -i ubuntu1404-base /bin/bash

直接进入容器,可以进行基本操作,如ls等。

6,  异常处理

Docker在CentoOS6运行一个容器的时候出现下面的错误

# docker run -i -t ubuntu1404-base /bin/bash
unable to remount sys readonly: unable to mount sys as readonly max retries reached

碰到这个问题需要修改Docker的配置参数把/etc/sysconfig/docker文件中的other-args更改为:

other_args="--exec-driver=lxc --selinux-enabled"

然后重新启动Docker服务

sudo /etc/init.d/docker restart

7, 其他命令

#查看docker容器,及状态
docker ps -a
#启动容器
docker start ID
#停止容器
docker stop ID
#删除容器
docker rm ID

 --End--

转载于:https://www.cnblogs.com/rakuhin/p/3997903.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/273580.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

让不带www的域名跳转到带www的域名

域名不带www和带www不是同一码事:前者称作根域名,后者是前者的二级域名。长久以来,人们都习惯了访问网站的时候带上www,所以大多数站长朋友域名解析的时候都是带www的和不带www的一起解析。然而对于搜索引擎来说,还是会…

RestTemplate 发送 Https 请求调用

RestTemplate 发送 Https 请求调用 个人博客:https://jacob.org.cn import org.apache.http.conn.ssl.NoopHostnameVerifier; import org.apache.http.conn.ssl.SSLConnectionSocketFactory; import org.apache.http.impl.client.CloseableHttpClient; import org.apache.htt…

【LeetCode】回文数

个人博客:https://jacob.org.cn package leetcode.editor.cn;//判断一个整数是否是回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。 // // 示例 1: // // 输入: 121 //输出: true // // // 示例 2: // …

android 小工具:pc 上用 curl 命令打开手机浏览器,浏览指定网址

测试 API 时或其它情况经常需要在手机浏览器中输入 url 一长串的 url 输起来真是麻烦 AirDroid 很强大也不用数据线,但有时老断开连接,不是很爽。发到手机 qq 吧还得手动粘贴 所以自己开发了一个小工具 pc 上用 curl 发一条命令,命令中输入要…

cron 表达式详解

cron表达式详解 Cron表达式是一个字符串,字符串以5或6个空格隔开,分为6或7个域,每一个域代表一个含义,Cron有如下两种语法格式: (1) Seconds Minutes Hours DayofMonth Month DayofWeek Year …

iOS: How To Make AutoLayout Work On A ScrollView

转载自: http://natashatherobot.com/ios-autolayout-scrollview/ Posted on June 11th, 2014 Ok, I’ll admit. I’ve been seriously struggling with AutoLayout ever since it’s been introduced. I understand the concept, and I LOVE the idea of it, but w…

windows 中搭建Zookeeper的搭建

个人博客 :https://www.siyuan.run CSDN:https://blog.csdn.net/siyuan 微信小程序:思远Y 下载 下载地址: https://mirrors.cnnic.cn/apache/zookeeper/ PS:zookeeper 从3.5.5以后的版本带有bin标识的包,否…

strcmp函数和strcpy函数

(一)strcmp函数 strcmp函数是比較两个字符串的大小,返回比較的结果。一般形式是: istrcmp(字符串,字符串); 当中,字符串1、字符串2均可为字符串常量或变量;i 是用于存放比較结果的整型变量。比較结果…

Vs Code:Remote SSH

Remote SSH 简介 Remote - SSH 扩展允许您使用任何带有 SSH 服务器的远程计算机作为开发环境。由于几乎每个桌面和服务器操作系统都有可配置的 SSH 服务器,因此该扩展可以在各种情况下大大简化开发。 您可以: 在部署的同一操作系统上进行开发&#xff…

样条之贝塞尔(Bezier)

我曾经发过两篇关于贝塞尔的文章:数学图形(1.47)贝塞尔(Bzier)曲线,数学图形之贝塞尔(Bzier)曲面。那是使用我自己定义的脚本语言生成贝塞尔图形。由于我自己定义的脚本语法功能有限,所以最多只能支持5次贝塞尔函数,而这里将实现N…

TCollector

TCollector tcollector is a client-side process that gathers data from local collectors and pushes the data to OpenTSDB. You run it on all your hosts, and it does the work of sending each hosts data to the TSD. tcollector是client-side(客户端&…

设计模式 之 工厂模式

项目源码:https://gitee.com/Jacob-gitee/DesignMode 个人博客:https://jacob.org.cn 女娲造人的故事 东汉《风俗通》记录了一则神话故事:“开天辟地,未有人民,女娲搏黄土做人”,讲述的内容就是大家非常熟…

设计模式 之 单例模式

项目源码:https://gitee.com/Jacob-gitee/DesignMode 个人博客:https://jacob.org.cn 宗旨 Ensure a class has only one instance,and provide a global point of access to it.(确保某一个类只有一个实例,而且自行实例化并向整个…

如何实现滑动scrollview上下隐藏

问题描述现在有一个需求,就是一个界面如下ABCA固定在顶部,C固定在底部其中B是一个scrollview(也可能是listview),要实现,在向上滑动B的时候,A平滑的往上滑,同时C平滑的往下滑,直到消失&#xff…

设计模式 之 抽象工厂模式

项目源码:https://gitee.com/Jacob-gitee/DesignMode 个人博客 :https://jacob.org.cn 女娲的失误 工厂模式中讲了女娲造人的故事。人是造出来了,世界也热闹了,可是低头一看,都是清一色的类型,缺少关爱、仇…

strip 命令的使用方法

用途 通过除去绑定程序和符号调试程序使用的信息,降低扩展公共对象文件格式(XCOFF)的对象文件的大小。 语法 strip [ -V ] [ -r [ -l ] | -x [ -l ] | -t | -H | -e | -E ] [ -X {32 |64 |32_64 }] [ -- ] File ... 描…

设计模式 之 模板模式

项目源码:https://gitee.com/Jacob-gitee/DesignMode 个人博客 :http://jacob.org.cn 女娲的失误 工厂模式中讲了女娲造人的故事。人是造出来了,世界也热闹了,可是低头一看,都是清一色的类型,缺少关爱、仇…

使用Java高速实现进度条

基于有人问到如何做进度条,以下给个简单的做法: 主要是使用JProgressBar(Swing内置javax.swing.JProgressBar)和SwingWorker(Swing内置javax.swing.SwingWorker) 有人肯定会说,不是用线程做的吗…

Linux 安装JDK

个人博客 :https://www.siyuan.run CSDN:https://blog.csdn.net/siyuan 微信小程序:思远Y 安装时使用到的命令: cd:切换目录。 eg:cd / mkdir:创建目录。 eg:mkdir jacob 创建单极目…

Css导航

<div> <ul> <li><a></a></li> <li><a></a></li> <li><a></a></li> .. </ul> </div> <li>中也可包含 <ul> <a></a> <li><a></a>&…