Docker學習筆記整理

2022-07-01 17:45:12 字數 3137 閱讀 3527

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_dockerbash

檢查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

$ cdhelloworld/helloworld/bin/debug$ ls *.exe | head -1helloworld.exe

cmd命令將簡單地使用mono執行中發現的第乙個可執行程式來構建輸出,讓我們建立這個映象並執行:

$ 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 為啥這麼火了。我相信有很多人對 ...