Docker 折騰記錄

2022-05-05 08:45:10 字數 2071 閱讀 4600

​為了學習 pwn,乙個好的虛擬環境是必不可少的。一開始我選擇了vm ware虛擬機器,但是好景不長,不久我就發現採用虛擬機器過於臃腫。

​所以我需要乙個更加輕量的虛擬化容器。最後我選擇了docker。

​docker這個東西類似於沙箱,因為linux類系統核心一樣,有所區別的只有他們的使用者層程式。所以只需要乙個能夠承載其他發行版linux使用者程式的容器,就可以模擬出所有的linux系統。甚至可以定義和打包自己的linux環境。因為沒有核心和沒用的第三方軟體的空間,docker相當輕量,也給自定義開發環境帶來了很大的自由。所以我嘗試著把部分linux虛擬機器遷移到docker上。

​菜鳥教程上說,docker 實質上是在已經執行的 linux 下製造了乙個隔離的檔案環境,因此它執行的效率幾乎等同於所部署的 linux 主機。

​因此,docker 必須部署在 linux 核心的系統上。如果其他系統想部署 docker 就必須安裝乙個虛擬 linux 環境。但是這個虛擬環境是所有docker共用的,所以相對虛擬機器來說還是划算的。

接下來我們就開始搭建docker環境。

​我們需要在docker hub上註冊乙個賬號。docker最強的地方在於他的容器足夠輕量,可以在網路上進行同步管理。所以乙個docker hub賬號必不可少。然後在你的賬戶下新建乙個倉庫,用來備份之後的映象。

​docker hub 官網:

​接下來我就可以建立乙個自己的環境了。

​然後就是一些基礎的命令教程,這篇文章並不是 docker 教程,而是乙個心路歷程,希望別人看了以後不會踩同樣的坑。docker 自身的命令幫助相當詳細,上手不會太難。

​我現在需要乙個以ubuntu系統為藍本的docker。然後需要 g++ gcc 編譯器,gdb偵錯程式,gdb的peda外掛程式,git用於**管理。ssh-server用來方便系統從外部連線到docker,同時方便用vscode連線到docker編寫**。然後乙個vim編輯器方便docker修改部分配置檔案。

​我們首先要去 dockerhub 找乙個基礎映象。我選擇的是 ubuntu,因為 ubuntu 較為易用(我比較熟悉)。我們用這個命令拉取映象

docker pull ubuntu
​我們通過docker images這個命令來檢視所有的映象。

​接下來就是構建docker了。docker映象的構建我們可以通過 dockerfile 來進行。關於dockerfile的編寫與使用,可以參看這篇部落格

​​假如你目標明確的話,這一部就應該能直接完成映象的構建。但不幸的是,因為是第一次上手,我有一些軟體漏了。所以接下來就是進docker搞了。先用命令生成乙個容器

docker run -it -p 23:22 -u root lixiao189/testubuntu:v5.01
​上面這個命令中-it-i-t選項的結合,-p是指定埠對映,23是你的本機埠,22是你的docker埠,因為docker中我們要開啟ssh服務,所以要將ssh服務的22號埠對映到本機的23號埠上,然後-u是指定使用者名稱。這裡是root,接下來我們制定映象,映象名由 docker hub 上的倉庫名和 tag 標籤組成。

​假如說你 ssh-server 安裝好了,就可以通過這些命令來啟動容器,同時自啟動 ssh 服務。

docker start hackubuntu # 後台啟動映象

docker exec -t hackubuntu service ssh start # 啟動 ssh 服務

​由於我講虛擬機器對映到本機的 23 號埠,因此用下面的命令鏈結ssh。

ssh 127.0.0.1 -p 23 -l node # node 是容器中的乙個普通賬戶
​docker 的映象確實都是很精簡的,就是自己配置需要跟花時間。訪問速度也很快,啟動秒開。可以在mac上還套了層虛擬機器,要是在 linux 上體驗應該更佳。

Archlinux 折騰記錄

值得注意 典型配置 版本選擇 其他linux n.x 或更高版本核心64位 開機前 虛擬機器設定 選項 高階 選擇uefi 必須 fdisk l 檢視硬碟裝置資訊 fdisk dev sda 建立三個分割槽 dev sda1作為引導分割槽 512m dev sda3作為swap分割槽 1g dev ...

Docker折騰手記 安裝

docker 紅的發紫,所以博主耳聞這麼久,也要來折騰折騰了 研究不多,個人目前認為 docker給我們帶來了以下好處 docker的介紹。工俗善其事,必先利其器,想要把 docker 玩起來,就要學習如何安裝 本文介紹了 windows下centos linux 下的兩種安裝方式 官網有兩個版本,...

React 打包折騰記錄

run build 之後會生成 build目錄 static目錄 等等,還會生成一些html沒有引用的js檔案,比如service worker等等 1 不需要的檔案我不要它生成 2 我要改變輸出目錄結構 3 我要改變某些輸出檔名 1 node modules 目錄下的 react script 包...