自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

讓你快速入門(mén)Docker的30個(gè)命令行

云計(jì)算
本文我們列出了常見(jiàn)的docker命令,如果你已經(jīng)可以熟練的使用這些命令,則說(shuō)明你docker技術(shù)已經(jīng)入門(mén)??梢越酉聛?lái)進(jìn)一步深入學(xué)習(xí)了,比如容器編排K8S集群等。

容器和云是當(dāng)下最流行的技術(shù),這也是任何IT工作者都應(yīng)該掌握技能。如果你還沒(méi)有學(xué)過(guò)Docker,那么本文就是給你準(zhǔn)備的。本文中將拋開(kāi)常見(jiàn)教程中的預(yù)先的一大堆理論說(shuō)明,直接從上手操作開(kāi)始。如果你學(xué)會(huì)了文中所列舉的命令,則證明已經(jīng)初步學(xué)會(huì)了docker入門(mén)技能,更多知識(shí)你可以在此基礎(chǔ)上再深入學(xué)習(xí)。

一、容器管理

容器,就是Linux被嚴(yán)格限制資源約束(cgroups),安全約束(Unix權(quán)限,capabilities,SELinux,AppArmor,seccomp等)和命名空間(PID,網(wǎng)絡(luò),mount,等等)限制出來(lái)的應(yīng)用。docker是最常見(jiàn)的一種容器技術(shù),Docker由Docker daemon(監(jiān)聽(tīng)程序)、Docker鏡像(層)和Docker存儲(chǔ)(卷)和Docker網(wǎng)絡(luò)的構(gòu)成。一個(gè)容器就是指由docker運(yùn)行時(shí)基于docker鏡像創(chuàng)建的一個(gè)docker實(shí)例

創(chuàng)建容器

要?jiǎng)?chuàng)建一個(gè)容器,使用create命令, [鏡像名]替換為需要運(yùn)行的鏡像的名稱(chēng)。

  1. docker create [鏡像名] 

當(dāng)按下enter按鍵時(shí),Docker默認(rèn)會(huì)本地鏡像庫(kù)中搜索,如果沒(méi)有,會(huì)去訪問(wèn)Docker Hub中搜索該鏡像,其下載本地系統(tǒng)并創(chuàng)建一個(gè)停止的容器。

比如,我們創(chuàng)建一個(gè)golang容器。

創(chuàng)建和運(yùn)行容器

要?jiǎng)?chuàng)建和運(yùn)行容器,請(qǐng)使用run命令,[鏡像名]替換為需要運(yùn)行的鏡像的名稱(chēng)將。該命令會(huì)從本地、Docker Hub中搜索指定的鏡像,并下載到本地,創(chuàng)建一個(gè)容器并啟動(dòng)該容器。

  1. docker run [鏡像名] 

啟動(dòng)停止的容器

要在啟動(dòng)的一個(gè)容器(已停止),可以運(yùn)行start命令。start命令后可以使用 [容器名]或容器ID替換??梢允褂胐ocker ps -a 查看本地容器列表(包括已停止的容器)。

  1. docker start [容器名/ID] 

停止容器

要停止一個(gè)運(yùn)行中的容器,可以使用stop命令。容器停止后,可以用start命令將其啟動(dòng)。

  1. docker stop [容器名/ID] 

重啟容器

要重啟一個(gè)容器,可以使用restart命令。命令可以將正在運(yùn)行中的容器停止,然后再重新啟動(dòng)。

  1. docker restart [容器名/ID] 

暫停容器

如果需要在正在運(yùn)行的容器中臨時(shí)暫停該過(guò)程,可以使用pause命令。

  1. docker pause [容器名/ID] 

恢復(fù)暫停的容器

暫停容器后,可以使用unpause命令恢復(fù)已暫停的容器。

  1. docker unpause [容器名/ID] 

列出正在運(yùn)行的容器

如果需要查看系統(tǒng)上正在運(yùn)行的容器的列表,請(qǐng)運(yùn)行以下命令。

  1. docker ps 或者 
  2. docker container ls 

上面的命令只會(huì)列出當(dāng)前正在運(yùn)行的容器,如果要列出本機(jī)所有的容器,可以使用:

  1. docker ps -a 
  2. CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 
  3. fc6da76218aa golang "bash" 2 minutes ago Created kind_shirley 

刪除容器

刪除一個(gè)容器,可以使用rm命令。要?jiǎng)h除容器,請(qǐng)確保容器已經(jīng)停止,否則會(huì)報(bào)錯(cuò)。

  1. docker rm [容器名/ID] 

卸載容器

為了系統(tǒng)中刪除一個(gè)容器,可以運(yùn)行以下命令。用要?jiǎng)h除的容器[容器名]的名稱(chēng)或ID替換。

  1. docker rm [容器名/ID] 

容器操作

如果要對(duì)容器執(zhí)行操作,有兩種方法,分別是exec命令和attach命令。

exec命令,用來(lái)在運(yùn)行的容器中執(zhí)行命令,比如:

  1. docker exec -it [容器名/ID] /bin/bash 

會(huì)打開(kāi)一個(gè)偽終端,可以在終端中執(zhí)行命令。

attach命令,用來(lái)連接到正在運(yùn)行中的容器:

  1. docker attach --sig-proxy=false [容器名/ID] 

attach到容器后,Ctrl+C可以退出,但是退出時(shí),容器也會(huì)停止,為了退出時(shí)不影響容器運(yùn)行,可以使用--sig-proxy=false參數(shù),這樣ctrl+C[D]后容器會(huì)繼續(xù)運(yùn)行。

查看容器日志

要查看當(dāng)前容器的執(zhí)行情況,需要查看容器日志??梢杂胊ttach到容器,可直接查看。當(dāng)然更常用的方法是用logs命令:

  1. docker logs [容器名/ID] 

logs 可以附帶一些參數(shù):

  • -f:表示實(shí)時(shí)打印容器日志,想象為tail -f
  • --since 日期:表示打印制定日期以來(lái)的日志。
  • --tail N數(shù)字:表示打印最后N條日志,想象為tail -n

查看容器的配置

容器的所有配置信息實(shí)際上是一個(gè)json文件,可以使用inspect命令,查看該容器的所有信息。

  1. docker inspect [容器名/ID] 

二、鏡像管理

容器鏡像是包含Docker容器的操作系統(tǒng),應(yīng)用程序和初始狀態(tài)的文件??梢詮腄ockerfiles構(gòu)建,也可以用已經(jīng)運(yùn)行的容器創(chuàng)建。

在docker中,鏡像是一個(gè)標(biāo)準(zhǔn)的Tar包,包中包含了:

  • Rootfs:容器上像操作系統(tǒng)的標(biāo)準(zhǔn)根(/)的目錄。例如,帶有/usr,/var,/home等的目錄。
  • JSON文件:用來(lái)指定如何運(yùn)行rootfs。例如,容器啟動(dòng)時(shí)在rootfs中運(yùn)行的命令或入口點(diǎn);為容器設(shè)置的環(huán)境變量;容器的工作目錄;和其他一設(shè)置。

基于rootfs,其上面的json可以是互相依賴(lài)的,這樣就把docker鏡像分成了一個(gè)個(gè)的層:

以Dockerfile構(gòu)建鏡像

甲dockerfile是docker用來(lái)創(chuàng)建并建立一個(gè)容器的鏡像的命令的列表??梢酝ㄟ^(guò)運(yùn)行以下命令從dockerfile構(gòu)建鏡像。

  1. docker build -f [dockerfile路徑] 

從容器構(gòu)建鏡像

還可以從正在運(yùn)行的容器為基礎(chǔ)構(gòu)建鏡像。這也是快速備份正容器的快照的方法。

  1. docker commit [容器名] [鏡像名] 

從Docker Hub拉取鏡像

可使用以下命令將鏡像從Docker Hub下載到本地系統(tǒng)。

  1. docker image pull [鏡像名] 

將鏡像推送到Docker Hub

將容器鏡像推送到Docker Hub之前,必須在Docker Hub上創(chuàng)建一個(gè)帳戶(hù),然后在終端登錄,在終端中運(yùn)行docker login命令:

  1. docker login 

然后按要求輸入用戶(hù)名和密碼。認(rèn)證成功后,可以使用以下命令將鏡像推送到docker Hub。

  1. docker image push [鏡像名] 

列出容器鏡像

如果需要查看系統(tǒng)上的鏡像列表,請(qǐng)運(yùn)行以下命令:

  1. docker image ls 

或者直接用

  1. docker image 

從系統(tǒng)中刪除鏡像

如果要從系統(tǒng)中刪除鏡像,請(qǐng)使用remove命令。

  1. docker image remove [鏡像名] 

三、卷管理

通過(guò)docker run或docker create命令可以將默認(rèn)的Docker Volumes附加到容器,這樣創(chuàng)建的數(shù)據(jù)在鏡像重建過(guò)程中保持不變。

創(chuàng)建Docker卷

要?jiǎng)?chuàng)建docker卷,可以對(duì)卷,使用create命令:

  1. docker volume create [卷名] 

刪除Docker卷

運(yùn)行rm命令以刪除Docker卷。請(qǐng)記住,如果刪除一個(gè)卷,則將刪除該卷中存儲(chǔ)的所有數(shù)據(jù)。

  1. docker volume rm [卷名] 

查看卷信息

有時(shí)需要查看有關(guān)創(chuàng)建的卷的各種詳細(xì)信息,可以對(duì)卷使用inspect命令:

  1. docker volume inspect [卷名] 

列出所有Docker卷

如果需要查看系統(tǒng)上所有卷的列表,可以對(duì)卷使用ls命令:

  1. docker volume ls 

四、網(wǎng)絡(luò)管理

Docker網(wǎng)絡(luò)決定了容器之間如何相互連接以及如何與Internet連接??梢詾楦鞣N軟件應(yīng)用程序堆棧創(chuàng)建專(zhuān)用網(wǎng)絡(luò),以確保數(shù)據(jù)安全。

創(chuàng)建Docker網(wǎng)絡(luò)

docker network的create命令會(huì)在當(dāng)前系統(tǒng)上創(chuàng)建一個(gè)橋接網(wǎng)絡(luò),該橋接網(wǎng)絡(luò)將容器彼此連接并共享主機(jī)的網(wǎng)絡(luò)和Internet連接。

  1. docker network create [網(wǎng)絡(luò)名] 

將容器連接到網(wǎng)絡(luò)

為了將容器連接到新網(wǎng)絡(luò),請(qǐng)使用connect命令。

  1. docker network connect [網(wǎng)絡(luò)名] [容器名] 

斷開(kāi)容器與網(wǎng)絡(luò)的連接

要斷開(kāi)容器與網(wǎng)絡(luò)的連接,請(qǐng)使用disconnect命令。

  1. docker network disconnect [網(wǎng)絡(luò)名] [容器名] 

查看網(wǎng)絡(luò)信息

如果需要檢查網(wǎng)絡(luò)上的詳細(xì)信息,可以對(duì)網(wǎng)絡(luò)使用inspect命令

  1. docker network inspect [網(wǎng)絡(luò)名] 

列出所有網(wǎng)絡(luò)

可對(duì)網(wǎng)絡(luò)使用ls命令,會(huì)列出系統(tǒng)上的所有的docker網(wǎng)絡(luò)信息。

  1. docker network ls 

刪除網(wǎng)絡(luò)

從系統(tǒng)中刪除網(wǎng)絡(luò)。,可以對(duì)網(wǎng)絡(luò)使用rm命令。

  1. docker network rm [網(wǎng)絡(luò)名] 

五、總結(jié)

本文我們列出了常見(jiàn)的docker命令,如果你已經(jīng)可以熟練的使用這些命令,則說(shuō)明你docker技術(shù)已經(jīng)入門(mén)。可以接下來(lái)進(jìn)一步深入學(xué)習(xí)了,比如容器編排K8S集群等。

 

責(zé)任編輯:趙寧寧 來(lái)源: 蟲(chóng)蟲(chóng)搜奇
相關(guān)推薦

2009-11-20 09:31:47

Linux命令命令行Linux

2023-06-08 12:37:17

2020-12-10 16:16:08

工具代碼開(kāi)發(fā)

2020-12-11 06:44:16

命令行工具開(kāi)發(fā)

2014-06-17 10:02:58

Bash Getopt命令行

2019-07-23 13:45:38

LinuxFedora權(quán)限

2024-09-29 13:25:56

2019-09-02 16:44:59

Docker容器命令

2019-08-05 12:20:30

命令行Linux權(quán)限進(jìn)階

2018-04-24 10:05:13

Docker工具交付

2013-03-14 16:25:46

命令行

2024-10-11 13:17:16

Linux命令行快捷導(dǎo)航

2019-09-29 10:05:26

Linux命令行工具代碼

2018-11-21 09:57:44

命令行Linux文件

2013-06-26 11:23:40

JVM命令行JavaJVM

2013-06-26 09:01:22

JVMJava

2010-10-13 13:20:04

命令行標(biāo)志JVM

2015-10-27 13:11:57

iTerm命令行工具

2009-03-01 22:09:08

LinuxTerminal命令行終端

2021-08-26 05:06:08

命令行工具Mac
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)