docker接觸有一段時間了,但是對於docker的使用可以說是一點不會。現在要在docker上部署基於angular開發的頁面。只能一點點積累查詢的資料,順手整理一下,方便後面的回顧。
其中用到的資料:
1. 在docker上執行.net應用
2. docker命令介紹及例項
3. nano命令指南
4. docker從主機上覆制檔案的方法
5. docker之常用命令
6. docker入門教程(一)介紹 - dockone.io
7. docker入門教程(二)命令 - dockone.io
8. docker入門教程(三)dockerfile - dockone.io
9. docker入門教程(四)docker registry - dockone.io
10. docker入門教程(五)docker安全 - dockone.io
11. docker入門教程(六)另外的15個docker命令 - dockone.io
12. docker入門教程(七)docker api - dockone.io
13. docker入門教程(八)docker remote api - dockone.io
14. docker入門教程(九)10個映象相關的api - dockone.io
檢視系統核心版本,如果版本過低請公升級核心,然後安裝docker,啟動docker,並將docker設定為啟動項
$ uname -r
$ sudo apt-get update
$ sudo apt-get install -y docker.io
$ sudo service docker start
$ sudo systemctl enable docker
第一步建立乙個docker映象來安裝mono。我們將使用這個作為容器的基本映象。檢視映象列表,其中是否存在自己需要的映象。這裡用ubuntu作為基礎映象。
建立dockerfile
nano dockerfile
將下面打內容複製到dockerfile,然後根據自己的情況進行修改(#後的內容為注釋):
# 基礎映象
版本from ubuntu
# 作者資訊
maintainer king
# 安裝wget
run apt-get -y -q install wget
# 新增apt-get源
run wget -q -o- | apt-key add -
# 解除安裝wget
run apt-get remove -y --auto-remove wget
# 新增opensuse的映象源列表
run sh -c "echo 'deb /' >> /etc/apt/sources.list.d/mono-opt.list"
run apt-get -q update
# 安裝mono
run apt-get -y -q install mono-opt
對上面的內容進行儲存
ctrl + o
關閉
ctrl + x
然後利用dockerfile來建立映象:
$
docker build -t ubuntu_docker .
製作的映象來檢查mono是否安裝成功
root@willemking:docker run -i -tubuntu_docker
bash
檢查mono是否安裝成功
root@85a5a2d993f7:# /opt/mono/bin/mono --version
mono jit compiler version 3.2.6 (tarball sat jan 18 16:48:05 utc 2014)
現在mono安裝在/opt下並且工作了
首先我們需要部署乙個簡單的應用程式,用visualstudio建立「專案」-「控制台應用程式」,名稱「helloworld」
using system;
namespace helloworld}}
}
然後將**貼入,進行編譯。生成的檔案在此路徑下(右鍵點選解決方案-在檔案資源管理器中開啟資料夾),將資料夾複製到虛擬機器中的/mnt下,然後在此資料夾下
建立新的dockerfile,內容如下,然後儲存:
from ubuntu_docker
maintainer king
add helloworld/helloworld/bin/debug .
cmd /opt/mono/bin/mono `ls *.exe | head -1`
注意:這個例子依賴於上邊所建立的ubuntu_docker映象,其中的*.exe的路徑在dockerfile的相對路徑下,這裡的dockerfile在mnt下,和拷貝過來的檔案在同一路徑下,而*.exe的相對路徑是~\helloworld\helloworld\bin\debug
cmd命令將簡單地使用mono執行中發現的第乙個可執行程式來構建輸出,讓我們建立這個映象並執行:$ cdhelloworld/helloworld/bin/debug
$ ls *.exe | head -1
helloworld.exe
$ docker build -t king_hello .
...$ docker runking_hello
hello dockerfile world
hello dockerfile world
已經正常執行了! docker學習筆記整理 (網路管理命令)
埠開放方式 隨機埠對映 測試環境適用 docker run name 容器名 p 映象名 shell命令 p 大寫 publish all 產生乙個隨機對映埠 如果使用nginx映象容器,bash會覆蓋nginx容器啟動後的第一條命令。nginx伺服器不能正常執行 手動指定埠對映 生產環境適用 do...
Docker 學習資源整理
docker 是近年來非常火的容器技術,而且啊 docke r不僅僅是紅帽和canonical等linux巨頭眼裡的寵兒,微軟等專有軟體公司也在熱烈擁抱 docker,所以就知道 docker 為啥這麼火了。我相信有很多人對 docker 感興趣,都想學學 docker,畢竟天天聽 畢竟這麼火 畢竟...
Docker 學習資源整理
轉 2016年12月23日 12 18 08 更多個人分類 docker docker 是近年來非常火的容器技術,而且啊 docke r不僅僅是紅帽和canonical等linux巨頭眼裡的寵兒,微軟等專有軟體公司也在熱烈擁抱 docker,所以就知道 docker 為啥這麼火了。我相信有很多人對 ...