Docker學習筆記1 映象製作

2022-07-29 05:24:16 字數 3667 閱讀 8162

win8.1 + virtual box, 執行 centos6.4 64bit, 內網通過**上網。

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

嘗試自己建立docker映象

1,阿里雲映象

執行如下指令碼,將資源映象執行阿里雲

在windows下編輯後,回車換行符需要替換

使用dos2unix命令

$ dos2unix -k sample.txt

2,wget上網**

root使用者

增加/root/.wgetrc 檔案,定義**伺服器及使用者名稱密碼

重新登入一下

聯網不使用**時使用 --no-proxy 引數

1,安裝docker

對於centos6,可以使用epel庫安裝docker,命令如下

安裝之後啟動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

"[email protected]

"# 安裝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

22cmd [

"/usr/sbin/sshd

", "

-d"]

注意dockerfile檔案的首字母大寫

將映象源轉換為阿里雲的,參考1.阿里雲映象

4, 建立image

* 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--

製作docker映象

命令docker build,從零開始來建立乙個新的映象。為此,我們需要建立乙個 dockerfile 檔案,其中包含一組指令來告訴 docker 如何構建我們的映象 指定基礎映象 from openjdk 8 dockerfile使用變數 可以在dockerfile中進行引用 工作目錄 指定ver...

製作docker映象

基礎環境說明 cat etc redhat release centos release 6.8 final 設定 docker 映象源 yum install y yum priorities rpm ivh rpm import etc pki rpm gpg rpm gpg key epel ...

Docker映象製作

copy on write 寫時複製 docker映象實際上乙個檔案系統,但只有頂層可以讀寫。dockerfile是軟體的原材料,docker映象是軟體的交付品,而docker容器則可以認為是軟體的執行態。從應用軟體的角度來看,dockerfile docker映象與docker容器分別代表軟體的三...