您好,登錄后才能下訂單哦!
這篇文章主要講解了“如何安裝和使用Docker”,文中的講解內(nèi)容簡單清晰,易于學(xué)習(xí)與理解,下面請(qǐng)大家跟著小編的思路慢慢深入,一起來研究和學(xué)習(xí)“如何安裝和使用Docker”吧!
docker的安裝非常簡單。
下載安裝包進(jìn)行安裝。 Docker Desktop for Mac (macOS) Docker Desktop for Windows
有三種方式(根據(jù)自身網(wǎng)絡(luò)情·況任選一種):
使用源進(jìn)行安裝(需要提前設(shè)置好源環(huán)境)
$ sudo apt-get install docker-ce docker-ce-cli containerd.io
下載離線包進(jìn)行安裝(https://download.docker.com/linux/ubuntu/dists/)
$ sudo dpkg -i /path/to/package.deb
使用在線腳本安裝
$ curl -fsSL https://get.docker.com -o get-docker.sh $ sudo sh get-docker.sh
所有的docker命令,都先以docker起頭,然后空格并跟上子命令執(zhí)行相應(yīng)的操作。 詳細(xì)的命令行文檔參見官網(wǎng):https://docs.docker.com/engine/reference/commandline/cli/
run 表示啟動(dòng),并需要指定一個(gè)鏡像文件,docker以該鏡像文件作為模版啟動(dòng)一個(gè)容器。
$ docker run -d -p 80:80 docker/getting-started
-d 表示后臺(tái)運(yùn)行
-p 80:80 表示端口映射 將本地80端口,映射到容器的80端口
docker/getting-started 使用的鏡像文件(此鏡像是官網(wǎng)提供的教程鏡像,啟動(dòng)后可以在瀏覽器中打開 http://localhost/tutorial/ 進(jìn)入docker新手教程)
ps 查看運(yùn)行中的容器,每個(gè)運(yùn)行的容器都會(huì)有一個(gè)containerId,類似linux的ps命令返回的pid。
$ docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 8234ab6bc530 docker/getting-started "/docker-entrypoint.…" 11 seconds ago Up 9 seconds 0.0.0.0:80->80/tcp hopeful_hamilton
-a 表示all, 查看所有,包括已經(jīng)停止的
stop 停止一個(gè)容器,需要一個(gè)containerId指明停止哪個(gè)容器。并且stop命令是冪等的,可以認(rèn)為該命令告訴docker引擎,保持指定的容器處于停止?fàn)顟B(tài)。
$ docker stop 8234ab6bc530
此時(shí)再使用ps查看容器會(huì)發(fā)現(xiàn)該容器已經(jīng)停止,可以看到該容器的status為Exited (0)。
$ docker ps -af 'id=8234ab6bc530' CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 8234ab6bc530 docker/getting-started "/docker-entrypoint.…" 19 minutes ago Exited (0) 3 minutes ago hopeful_hamilton
-af 是 -a(--all)表示所有 和 -f(--filter)表示按條件過濾的組合,'id=8234ab6bc530'是-f的參數(shù),表示只要id為8234ab6bc530的容器。
start 可以啟動(dòng)一個(gè)已停止的容器,需要一個(gè)containerId指明具體容器。和stop命令一樣start命令也是冪等的,可以認(rèn)為該命令告訴docker引擎,保持指定的容器處于啟動(dòng)狀態(tài)。
$ docker start 8234ab6bc530 8234ab6bc530
rm 用于刪除一個(gè)指定的容器,但是不允許刪除一個(gè)運(yùn)行中的容器。
$ docker rm 8234ab6bc530 Error response from daemon: You cannot remove a running container 8234ab6bc530fa180da8a42b4c232761f604913c0adde06868dcd63bda841b37. Stop the container before attempting removal or force remove
所以需要先停止,再刪除
$ docker stop 8234ab6bc530 8234ab6bc530 $ docker rm 8234ab6bc530 8234ab6bc530
docker run : 創(chuàng)建一個(gè)新的容器并運(yùn)行一個(gè)命令 參數(shù):
-a stdin: 指定標(biāo)準(zhǔn)輸入輸出內(nèi)容類型,可選 STDIN/STDOUT/STDERR 三項(xiàng); -d: 后臺(tái)運(yùn)行容器,并返回容器ID; -i: 以交互模式運(yùn)行容器,通常與 -t 同時(shí)使用; -P: 隨機(jī)端口映射,容器內(nèi)部端口隨機(jī)映射到主機(jī)的端口 -p: 指定端口映射,格式為:主機(jī)(宿主)端口:容器端口 -t: 為容器重新分配一個(gè)偽輸入終端,通常與 -i 同時(shí)使用; --name="nginx-lb": 為容器指定一個(gè)名稱; --dns 8.8.8.8: 指定容器使用的DNS服務(wù)器,默認(rèn)和宿主一致; --dns-search example.com: 指定容器DNS搜索域名,默認(rèn)和宿主一致; -h "mars": 指定容器的hostname; -e username="ritchie": 設(shè)置環(huán)境變量; --env-file=[]: 從指定文件讀入環(huán)境變量; --cpuset="0-2" or --cpuset="0,1,2": 綁定容器到指定CPU運(yùn)行; -m :設(shè)置容器使用內(nèi)存最大值; --net="bridge": 指定容器的網(wǎng)絡(luò)連接類型,支持 bridge/host/none/container: 四種類型; --link=[]: 添加鏈接到另一個(gè)容器; --expose=[]: 開放一個(gè)端口或一組端口; --volume , -v: 綁定一個(gè)卷
docker exec : 在運(yùn)行的容器中執(zhí)行命令 參數(shù):
-d :分離模式: 在后臺(tái)運(yùn)行 -i :即使沒有附加也保持STDIN 打開 -t :分配一個(gè)偽終端
docker cp : 用于容器與主機(jī)之間的數(shù)據(jù)拷貝。 參數(shù):
-L :保持源目標(biāo)中的鏈接
docker logs : 獲取容器的日志 參數(shù):
-f : 跟蹤日志輸出 --since :顯示某個(gè)開始時(shí)間的所有日志 -t : 顯示時(shí)間戳 --tail :僅列出最新N條容器日志
docker build : 用于使用 Dockerfile 創(chuàng)建鏡像
--build-arg=[] :設(shè)置鏡像創(chuàng)建時(shí)的變量; --cpu-shares :設(shè)置 cpu 使用權(quán)重; --cpu-period :限制 CPU CFS周期; --cpu-quota :限制 CPU CFS配額; --cpuset-cpus :指定使用的CPU id; --cpuset-mems :指定使用的內(nèi)存 id; --disable-content-trust :忽略校驗(yàn),默認(rèn)開啟; -f :指定要使用的Dockerfile路徑; --force-rm :設(shè)置鏡像過程中刪除中間容器; --isolation :使用容器隔離技術(shù); --label=[] :設(shè)置鏡像使用的元數(shù)據(jù); -m :設(shè)置內(nèi)存最大值; --memory-swap :設(shè)置Swap的最大值為內(nèi)存+swap,"-1"表示不限swap; --no-cache :創(chuàng)建鏡像的過程不使用緩存; --pull :嘗試去更新鏡像的新版本; --quiet, -q :安靜模式,成功后只輸出鏡像 ID; --rm :設(shè)置鏡像成功后刪除中間容器; --shm-size :設(shè)置/dev/shm的大小,默認(rèn)值是64M; --ulimit :Ulimit配置。 --squash :將 Dockerfile 中所有的操作壓縮為一層。 --tag, -t: 鏡像的名字及標(biāo)簽,通常 name:tag 或者 name 格式;可以在一次構(gòu)建中為一個(gè)鏡像設(shè)置多個(gè)標(biāo)簽。 --network: 默認(rèn) default。在構(gòu)建期間設(shè)置RUN指令的網(wǎng)絡(luò)模式
感謝各位的閱讀,以上就是“如何安裝和使用Docker”的內(nèi)容了,經(jīng)過本文的學(xué)習(xí)后,相信大家對(duì)如何安裝和使用Docker這一問題有了更深刻的體會(huì),具體使用情況還需要大家實(shí)踐驗(yàn)證。這里是億速云,小編將為大家推送更多相關(guān)知識(shí)點(diǎn)的文章,歡迎關(guān)注!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。