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.pswp.cn/news/273580.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/273580.shtml
英文地址,請注明出處:http://en.pswp.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>&…