摘要:一核心組件客戶端和服務(wù)端鏡像容器二關(guān)鍵概念以鏡像為基礎(chǔ),在鏡像的基礎(chǔ)上創(chuàng)建運(yùn)行容器,可以簡(jiǎn)單的理解為容器是鏡像運(yùn)行時(shí)的表現(xiàn)。
一、docker核心組件
docker客戶端和服務(wù)端 docker鏡像 registry docker容器二、關(guān)鍵概念
docker以鏡像為基礎(chǔ),在鏡像的基礎(chǔ)上創(chuàng)建、運(yùn)行容器,可以簡(jiǎn)單的理解為容器是鏡像運(yùn)行時(shí)的表現(xiàn)。三、docker基本命令
容器相關(guān)
1、docker run --name container_name -i -t ubuntu /bin/bash (創(chuàng)建一個(gè)交互式容器) docker run 命令指的是運(yùn)行某一個(gè)鏡像,這里指ubuntu鏡像 --name 參數(shù)用于指定即將創(chuàng)建運(yùn)行的容器的名稱(唯一) -i 參數(shù)指的是以鏡像運(yùn)行的容器中的標(biāo)準(zhǔn)輸入是打開(kāi)的 -t 參數(shù)指的是為創(chuàng)建的容器分配tty終端 /bin/bash 命令指的是容器創(chuàng)建完畢啟動(dòng)的命令 2、docker start containerId/containerName 重新啟動(dòng)容器(docker重啟時(shí),會(huì)沿用docker run命令時(shí)指定的參數(shù)來(lái)運(yùn)行) 3、docker stop containerId/containerName 停止容器 4、docker run --name daemon_dave -d ubuntu(守護(hù)式容器) -d 參數(shù)說(shuō)明該容器在后臺(tái)運(yùn)行 5、docker logs [options] containerId/containerName docker logs containerId/containerName:輸出此容器的log -f 參數(shù) 動(dòng)態(tài)打印容器運(yùn)行時(shí)的log日志 -tf 參數(shù) 給日志添加時(shí)間 --tail number 參數(shù)用于獲取日志的最后幾行內(nèi)容 6、docker top containerId/containerName 查看容器內(nèi)部運(yùn)行的進(jìn)程 7、docker exec [options] containerId/containerName [shell] docker exec:在容器內(nèi)部額外啟動(dòng)新進(jìn)程 -d: 后臺(tái)進(jìn)程 -i -t:交互式進(jìn)程 8、docker run --restart=[param] ... --restart=always:無(wú)論容器退出碼是多少,都自動(dòng)重啟容器 --restart=on-failure:5:當(dāng)退出碼是非0時(shí),自動(dòng)重啟5次 9、docker ps docker ps 命令顯示當(dāng)前正在運(yùn)行的容器 docker ps -a 顯示所有容器 docker ps -l 顯示最新創(chuàng)建的一個(gè)容器 docker ps -l -q 顯示最新創(chuàng)建的一個(gè)容器的id 10、docker run -p/-P -p: 8080:80 將容器內(nèi)的80端口綁定到了本地宿主機(jī)的8080端口 127.0.0.1:8080:80 將容器內(nèi)的80端口綁定到了本地宿主機(jī)的127.0.0.1這個(gè)IP的8080端口 127.0.0.1::80 將容器內(nèi)的80端口綁定到了本地宿主機(jī)的127.0.0.1這個(gè)IP的一個(gè)隨機(jī)端口 -P: 將容器內(nèi)的80端口對(duì)本地宿主機(jī)公開(kāi),并且綁定到宿主機(jī)的一個(gè)隨機(jī)端口上 11、docker inspect containerId/containerName 查看容器詳細(xì)信息 12、docker port containerId/containerName 查看容器端口映射情況
鏡像相關(guān)
1、docker images docker images:查找docker宿主機(jī)所有的鏡像,后面加鏡像名可查看指定鏡像的信息 2、docker search XXX 用于查看XXX相關(guān)的鏡像 鏡像一般存儲(chǔ)在鏡像倉(cāng)庫(kù)中(用戶倉(cāng)庫(kù):用戶名/倉(cāng)庫(kù)名),并打上標(biāo)簽 3、docker commit docker commit:構(gòu)建鏡像 docker commit -m "A new custom image" -a "James Turnbull" [容器Id] [倉(cāng)庫(kù)名/鏡像名:tag] -m:提交信息 -a:提交人信息 4、基于dockerfile構(gòu)建鏡像 docker build -t="倉(cāng)庫(kù)名/鏡像名:tag" . .:代表從當(dāng)前目錄下查找Dockerfile,也可以指定git倉(cāng)庫(kù) 5、dockerfile命令 CMD: 指定容器要啟動(dòng)時(shí)要運(yùn)行的命令,一個(gè)dockerfile只有一個(gè)CMD命令生效, 且如果docker run時(shí)指定了命令,會(huì)覆蓋dockerfile的CDM指定的命令。 ENTRYPOINT: 指定容易啟動(dòng)時(shí)要運(yùn)行的命令,一般不會(huì)被覆蓋,可以通過(guò)docker run --entrypoint覆蓋 WORKDIR: dockerfile后續(xù)指令的工作目錄 EVN: ENV TARGET_DIR /opt/app:指定環(huán)境變量 VOLUME: 用來(lái)向基于鏡像創(chuàng)建的容器添加卷, 讓我們可以將數(shù)據(jù)(如源代碼)、數(shù)據(jù)庫(kù)或者其他內(nèi)容添加到鏡像中而不是將這些內(nèi)容提交到鏡像中,并且允許我們?cè)诙鄠€(gè)容器間共享這些內(nèi)容 ADD: 用來(lái)將構(gòu)建環(huán)境下的文件和目錄復(fù)制到鏡像中。 ADD 源文件 目的文件位置 COPY: ARG: 用來(lái)定義可以在docker build命令運(yùn)行時(shí)傳遞給構(gòu)建運(yùn)行時(shí)的變量,我們只需要在構(gòu)建時(shí)使用--build-arg標(biāo)志即可
以上內(nèi)容參考了《第一本Docker書(shū)》,如果有不正確的地方,歡迎指出
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://m.hztianpu.com/yun/28040.html
摘要:編程書(shū)籍的整理和收集最近一直在學(xué)習(xí)深度學(xué)習(xí)和機(jī)器學(xué)習(xí)的東西,發(fā)現(xiàn)深入地去學(xué)習(xí)就需要不斷的去提高自己算法和高數(shù)的能力然后也找了很多的書(shū)和文章,隨著不斷的學(xué)習(xí),也整理了下自己的學(xué)習(xí)筆記準(zhǔn)備分享出來(lái)給大家后續(xù)的文章和總結(jié)會(huì)繼續(xù)分享,先分享一部分的 編程書(shū)籍的整理和收集 最近一直在學(xué)習(xí)deep learning深度學(xué)習(xí)和機(jī)器學(xué)習(xí)的東西,發(fā)現(xiàn)深入地去學(xué)習(xí)就需要不斷的去提高自己算法和高數(shù)的能力然后...
閱讀 2280·2023-04-26 03:06
閱讀 3697·2023-04-26 01:51
閱讀 2154·2021-11-24 09:38
閱讀 2569·2021-11-17 17:00
閱讀 2421·2021-09-28 09:36
閱讀 1007·2021-09-24 09:47
閱讀 2678·2019-08-30 15:54
閱讀 1621·2019-08-30 15:44