docker鏡像
查看鏡像
docker images
docker images -q 查看所用鏡像的id
搜索鏡像
docker search 鏡像名稱(chēng)
拉取鏡像
從docker倉(cāng)庫(kù)下載鏡像到本地笼裳,鏡像名稱(chēng)格式為名稱(chēng):版本號(hào)
docker pull 鏡像名稱(chēng)
刪除鏡像
docker rmi 鏡像id? 刪除指定本地鏡像
docker rmi "docker images -q" 刪除所有本地鏡像
docker容器
查看容器
docker ps 查看正在運(yùn)行的容器
docker ps -a?查看所有容器
創(chuàng)建并啟動(dòng)容器
docker run 參數(shù)
參數(shù)說(shuō)明:
-i:保持容器運(yùn)行屈张,和it兩個(gè)參數(shù)一起使用后碟贾,容器創(chuàng)建后自動(dòng)進(jìn)入容器中琼腔,退出容器后容器自動(dòng)關(guān)閉职辨。
-t:為容器重新分配一個(gè)偽終端
-d:后臺(tái)運(yùn)行容器,退出不會(huì)關(guān)閉
-it:創(chuàng)建的容器一般稱(chēng)為交互式容器皆刺,-id:創(chuàng)建的容器被稱(chēng)為守護(hù)式容器
--name:為創(chuàng)建的容器命名
進(jìn)入容器
docker exec 參數(shù)退出容器后容器不會(huì)關(guān)閉针饥。
停止容器
docker stop 容器名稱(chēng)
啟動(dòng)容器
docker start 容器名稱(chēng)
刪除容器:容器不能在運(yùn)行狀態(tài)刪除
docker rm 容器名稱(chēng)
查看容器信息
docker inspect 容器名稱(chēng)
docker數(shù)據(jù)卷
數(shù)據(jù)卷概念
容器啟動(dòng)后的數(shù)據(jù)銷(xiāo)毀數(shù)據(jù)也會(huì)跟隨銷(xiāo)毀,防止數(shù)據(jù)丟失可以使用數(shù)據(jù)卷保存數(shù)據(jù)彩郊,容器(目錄)=宿主機(jī)(目錄),宿主機(jī)和容器之間的數(shù)據(jù)是雙向綁定的前弯。
問(wèn):
為什么數(shù)據(jù)卷基于容器內(nèi)部創(chuàng)建,容器銷(xiāo)毀數(shù)據(jù)卷不受影響秫逝?
因?yàn)殡p向綁定數(shù)據(jù)恕出,在宿主機(jī)里有一份同樣的數(shù)據(jù),新建容器時(shí)數(shù)據(jù)會(huì)自動(dòng)到新建容器里违帆。
docker網(wǎng)絡(luò)
由于內(nèi)容較長(zhǎng)浙巫,單獨(dú)一章講解
docker倉(cāng)庫(kù)
在我們剛使用docker,如果想要看到點(diǎn)什么東西的時(shí)候刷后,就會(huì)涉及到web服務(wù)器的畴,例:nginx/tomcat。就需要去dockerhub上拉取下來(lái)鏡像尝胆。
我們?cè)陂_(kāi)發(fā)時(shí)丧裁,可以制作自己的docker鏡像上傳到dockerhub上,提供給他人訪問(wèn)含衔。
制作鏡像
一煎娇、?首先我們需要在服務(wù)器端root/下新建一個(gè)文件夾作為數(shù)據(jù)卷目錄
二、寫(xiě)一個(gè)簡(jiǎn)單的java項(xiàng)目贪染,本地測(cè)試運(yùn)行
指定主類(lèi):
<plugins>? ? ? ? ? ? <plugin>? ? ? ? ? ? ? ? <groupId>org.apache.maven.plugins</groupId>? ? ? ? ? ? ? ? <artifactId>maven-jar-plugin</artifactId>? ? ? ? ? ? ? ? <version>3.2.0</version>? ? ? ? ? ? ? ? <configuration>? ? ? ? ? ? ? ? ? ? <archive>? ? ? ? ? ? ? ? ? ? ? ? <manifest>? ? ? ? ? ? ? ? ? ? ? ? ? ? <addClasspath>true</addClasspath>? ? ? ? ? ? ? ? ? ? ? ? ? ? <mainClass>cn.lnfvc.hello</mainClass> <!-- 指定主類(lèi) -->? ? ? ? ? ? ? ? ? ? ? ? </manifest>? ? ? ? ? ? ? ? ? ? </archive>? ? ? ? ? ? ? ? </configuration>? ? ? ? ? ? </plugin>? ? ? ? </plugins>? ? </build>
三缓呛、建立docker鏡像文件Dockerfile并配置
FROM openjdk:8
COPY $PWD/文件名.jar /
CMD [“java”,"-jar","/文件名.jar"]
四、Dockerfile和打包后的jar包上傳到服務(wù)器端的html里
五杭隙、在html文件夾里構(gòu)建鏡像docker build -t 鏡像名稱(chēng) .?六哟绊、用docker images查看有沒(méi)有自己建的鏡像
8.啟動(dòng)鏡像?docker run 鏡像名稱(chēng)
鏡像推送
注意:在推送鏡像之前需要先登錄
docker login
一、首先確保創(chuàng)建了Docker Hub的賬號(hào)痰憎,請(qǐng)記住賬號(hào)和密碼票髓。
二攀涵、在本地使用以下命令為您的鏡像添加一個(gè)標(biāo)記:
docker tag [IMAGE_NAME] [DOCKERHUB_USERNAME]/[REPOSITORY_NAME]:[TAG_NAME]
其中,[IMAGE_NAME]是本地鏡像的名稱(chēng)炬称,[DOCKERHUB_USERNAME]是您的Docker Hub賬號(hào)用戶(hù)名汁果,[REPOSITORY_NAME]是要?jiǎng)?chuàng)建的新鏡像倉(cāng)庫(kù)名稱(chēng)涡拘,[TAG_NAME]是標(biāo)簽名稱(chēng)玲躯。
三、將標(biāo)記推送到Docker Hub:?docker push [DOCKERHUB_USERNAME]/[REPOSITORY_NAME]:[TAG_NAME]
如果成功推送鳄乏,現(xiàn)在打開(kāi)Docker Hub上的存儲(chǔ)庫(kù)就可以找到自己推送上去的鏡像跷车。
鏡像拉取
docker pull 用戶(hù)名/存儲(chǔ)卡名稱(chēng):標(biāo)簽
輸入docker imges查看一下拉取鏡像