學習docker的一點記錄

2022-08-14 07:39:10 字數 2545 閱讀 5781

0x00 docker簡介

docker 是乙個開源的應用容器引擎,讓開發者可以打包他們的應用以及依賴包到乙個可移植的映象中,然後發布到任何流行的 linux或windows 機器上,也可以實現虛擬化。容器是完全使用沙箱機制,相互之間不會有任何介面。

0x01 在ubuntu上安裝docker

第一步:

第二步:安裝gpg證書

curl -fssl | sudo apt-key add -

第三步:寫入軟體源資訊

sudo add-apt-repository "deb [arch=amd64] $(lsb_release -cs) stable"

第四步:更新並安裝

sudo apt-get -y update

sudo apt-get -y install docker-ce

0x02 docker的啟動、重啟和關閉

啟動docker:systemctl start docker

程序重啟:sudo systemctl daemon-reload

重啟docker服務:systemctl restart docker

重啟docker服務:sudo service docker restart

關閉docker:service docker stop

關閉docker:systemctl stop docker

0x03 建立docker容器

建立互動式的docker容器

docker run -it 映象名 /bin/bash

-t:在新容器內指定乙個偽終端或終端。

-i:允許你對容器內的輸入進行互動。

注:進入互動式容器後,使用exit或ctrl+d來退出容器

建立後台執行,不進入互動介面的容器

docker run -d 映象名 /bin/bash

-d:指定容器的執行模式。(加了-d引數預設不會進入容器,也就是後台執行)

除了以上3個引數,還有以下引數比較常用:

-p(大寫):將容器內部使用的網路埠對映到我們使用的主機上(隨機對映)。

-p:將容器內部埠繫結到指定的主機埠。(-p 想要指定的埠:想要更改的埠)

--name:命名容器

0x04 操作docker容器的部分命令

docker ps(檢視是否有容器在執行)

docker ps -a(檢視所有的容器)

docker ps -l(檢視最後一次建立的容器)

docker start 《容器id>(啟動容器)

docker stop 《容器id>(停止容器)

docker attach 《容器id>(對於加了-d引數的容器,可以使用該命令進入該容器)

docker exec 《引數》 《容器id> /bin/bash(跟attach的功能差不多,不過建議使用該命令,因為該命令退出容器終端,不會導致容器的停止)

docker export 《容器id> > ubuntu.tar(匯出容器的快照到本地檔案ubuntu.tar)

cat docker/ubuntu.tar | docker import - test/ubuntu:v1(快照檔案 ubuntu.tar 匯入到映象 test/ubuntu:v1)

docker rm -f 《容器id>(刪除對應容器)

docker rm 名字(刪除容器)

注:刪除容器時,容器必須是處於停止狀態。

docker container prune 清理掉所有處於終止狀態的容器

docker port 《容器id>或名字 檢視容器埠的對映情況

docker top 《容器id>或名字 檢視容器內部執行的程序

docker inspect 檢視docker的底層資訊。會返回乙個json檔案盡量docker容器的配置和狀態資訊

docker images(列出本地主機上的映象)

docker search(想要的搜尋的映象)

docker rmi 映象名(刪除相應的映象)

docker tag 《容器id> 新的標籤名(為映象新增乙個新的標籤)

docker network create -d bridge 網路名 新建網路(-d後面的是網路的型別,網路名則是新建的網路的名字)

docker cp 要拷貝檔案的目錄 容器id:拷貝的檔案要放入的具體目錄(將檔案拷貝進容器)

0x05 dockerfile

dockerfile 是乙個用來構建映象的文字檔案,文字內容包含了一條條構建映象所需的指令和說明。

建立映象:docker build -t 映象名:映象描述 .

注:這裡最後的點是指當前目錄的dockerfile檔案

docker搭建lamp環境很方便。

docker search lamp

docker pull tutum/lamp

注:這裡是用的是tutum/lamp的映象。

docker學習的一點記錄(一)

環境 阿里雲 docker 傻瓜一鍵映象 有公網ip,ssh 自己本地 windows7 ssh終端 xshell xftp docker 是這個傻瓜映象 自己帶的 下面是一張 簡單的介紹了一下,dockerfile當中的一些語法及對應功能 最後的 entrypoint 是 docker 啟動這個映...

hook api的一點記錄

hook api方法不外乎有修改匯入表和修改目標函式 讓其調整到hook函式處執行。這裡僅僅說下後者。後者主要實現為 通過鉤子將 注入到目標程序 簡單點就通過鉤子載入dll的方式來hook 複雜點的話就 使用建立遠端執行緒的方式來進行 然後通過修改要注入的目標函式其實幾個位元組 一般來說是5個位元組...

kvo 的一點記錄

observevalueforkeypath ofobject change context 呼叫方法是裡 object 被觀察物件 observer 觀察物件 forkeypath裡面帶上property的name,如uiview的frame center等等 options 有4個值,分別是 n...