docker 基礎命令詳解

Docker與Kvm的對比

docker組成:docker客戶端 、docker服務器端 、docker鏡像 、docker容器css

Doeker容器:開源容器引擎,打包可移植,沙箱機制,輕量級html

kvm:

1. 虛擬機node

2. 使用複雜linux

3. 啓動過程相對慢(分鐘)nginx

4. 模版文件較大redis

5. 和物理徹底隔離sql

6. 模擬的是一個完整系統,能夠登陸並實現管理docker

 

docker:

1. 直接虛擬出來一個用戶空間apache

2. 使用簡單json

3. 啓動很是塊(秒級)

4. 模版文件很小

5. 在必定程度上和物理機隔離

6. 僅僅是模擬一部分用戶空間,不方便管理

 

docker部署安裝

須要提早配置的yum源:epel,extra,本地源

第一步:須要下載阿里雲較新版的docker源文件

[root@ken-node3 ~]# wget https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

 

第二步:移動文件到yum.repos.d下

[root@ken-node3 ~]# mv docker-ce.repo /etc/yum.repos.d/

 

第三步:下載docker-ce

docker-ce 社區免費版

docker-ee 企業收費版

[root@ken-node3 ~]# yum install docker-ce -y 

 

第四步:直接啓動docker並設置開機自啓

[root@ken-node3 ~]# systemctl restart docker
[root@ken-node3 ~]# systemctl enable docker

 

https://www.cnblogs.com/modestlin/p/11629026.html 出現container-selinux 版本不符的問題是,可依據該博客內容進行

 

注:

若是不啓動docker服務會報以下的錯誤:

[root@ken-node3 ~]# docker image ls
Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?

 

第五步:驗證docker服務是否能夠正常運行

[root@ken1 ~]# docker image ls
REPOSITORY TAG IMAGE ID CREATED SIZE

 

鏡像加速

 

爲何鏡像加速?

由於docker在拉取鏡像的時候是默認使用dockerhub上面的鏡像即國外鏡像,因此拉取速度是很慢的,

爲了解決這個問題,咱們就能夠使用阿里雲鏡像加速

 

 

阿里雲鏡像加速

 

第一步:瀏覽器輸入阿里雲進入官網並登錄

 

第二步:進入控制檯–》產品與服務–》容器鏡像服務–》鏡像加速器

 

第三步:建立一個腳本寫入以下內容

 

 

一鍵部署安裝docker並加速

#!/bin/bash wget https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo mv docker-ce.repo /etc/yum.repos.d sudo mkdir -p /etc/docker sudo tee /etc/docker/daemon.json <<-'EOF' { "registry-mirrors": ["https://xxx.mirror.aliyuncs.com"] } EOF sudo systemctl daemon-reload sudo systemctl restart docker 

 

docker鏡像操做詳解

 

docker鏡像操做相關的指令

 

docker使用技巧:

[root@ken-node3 ~]# docker –help  #能夠查看docker全部使用方法

[root@ken-node3 ~]# docker image –help  #能夠查看docker鏡像操做的全部方法

[root@ken-node3 ~]# docker image ls –help  #能夠查看docker鏡像操做中ls指令的用法

 

鏡像操做指令:

build  從dockerfile中建立鏡像

history 能夠顯示鏡像的構建歷史 #docker鏡像分層構建,每一層都有一個指令

import 從一個壓縮包建立鏡像

save 建立鏡像壓縮包

load 從壓縮包導入鏡像

ls 列出來鏡像

prune 清除不使用的鏡像

pull 拉取鏡像

push 推送鏡像

rm 刪除鏡像

tag 更名

 

 

docker鏡像操做演示

 

例子1:拉取鏡像

 

格式:docker image pull REPOSITORY:TAG

[root@ken1 ~]# docker image pull busybox

 

注意:

若是在拉取鏡像的時候只指定了REPOSITORY的話,默認拉取的是tag爲latest的版本

 

例子2:查看當前有哪些鏡像

[root@ken1 ~]# docker image ls REPOSITORY TAG IMAGE ID CREATED SIZE busybox 1.31.0 db8ee88ad75f 3 weeks ago 1.22MB busybox latest db8ee88ad75f 3 weeks ago 1.22MB 

 

例子3:查看鏡像構建歷史

[root@ken1 ~]# docker image history busybox IMAGE CREATED CREATED BY SIZE COMMENT db8ee88ad75f 3 weeks ago /bin/sh -c #(nop) CMD ["sh"] 0B <missing> 3 weeks ago /bin/sh -c #(nop) ADD file:9ceca008111a4ddff… 1.22MB 

 

例子4:製做鏡像壓縮包

方法一:使用-o選項,output

[root@ken1 ~]# docker image save busybox:1.31.0 -o busybox1.31.tar [root@ken1 ~]# ls anaconda-ks.cfg busybox1.31.tar docker-speend.sh test test1 

 

方法二:使用標準輸出

[root@ken1 ~]# docker image save busybox:1.31.0 > busybox1.31-v2.tar [root@ken1 ~]# ls anaconda-ks.cfg busybox1.31.tar busybox1.31-v2.tar docker-speend.sh test test1 

 

例子5:使用鏡像壓縮包

 

方法一:使用-i,input

[root@ken-node3 ~]# docker image load -i busybox1.31.tar Loaded image: busybox:1.31.0 [root@ken-node3 ~]# docker image ls REPOSITORY TAG IMAGE ID CREATED SIZE busybox 1.31.0 db8ee88ad75f 3 weeks ago 1.22MB 

 

方法二:

[root@ken-node3 ~]# docker image load < busybox1.31.tar Loaded image: busybox:1.31.0 [root@ken-node3 ~]# docker image ls REPOSITORY TAG IMAGE ID CREATED SIZE busybox 1.31.0 db8ee88ad75f 3 weeks ago 1.22MB 

 

例子6:刪除鏡像

方法一:

[root@ken1 ~]# docker image rm busybox:1.31.0 Untagged: busybox:1.31.0 [root@ken1 ~]# docker image ls REPOSITORY TAG IMAGE ID CREATED SIZE busybox latest db8ee88ad75f 3 weeks ago 1.22MB

方法二:

[root@ken1 ~]# docker rmi busybox 

 

 

例子7:鏡像更名

[root@ken1 ~]# docker image tag busybox:1.31.0 busybox:latest [root@ken1 ~]# docker image ls REPOSITORY TAG IMAGE ID CREATED SIZE busybox 1.31.0 db8ee88ad75f 3 weeks ago 1.22MB busybox latest db8ee88ad75f 3 weeks ago 1.22MB 

 

 

例子8:清除不常常使用的鏡像

[root@ken1 ~]# docker image prune -f
Total reclaimed space: 0B

 

 

docker容器操做詳解

 

run 運行容器

commit 使用當前運行的容器製做鏡像

exec 能夠在容器中執行命令或者進入容器

inspect 查看容器的詳細信息,也能夠查看鏡像的信息

kill 強制殺掉容器

logs 查看容器產生的日誌信息

ls 查看當前運行的容器

ps 查看當前運行的容器

pause 暫停容器

unpause 開啓容器

port 查看容器端口映射信息

rename 對容器更名

restart 重啓容器

start 啓動容器

stop 停掉容器

rm 刪除容器,默認刪除不了正在運行的容器,-f

stats 查看容器的運行狀態

top 查看容器的系統內存,磁盤使用信息

 

 

例子1:啓動容器

前臺運行容器

[root@ken1 ~]# docker run -i -t busybox /bin/sh 

-i 交互模式

-t分配終端

 

後臺運行容器

[root@ken1 ~]# docker run -d nginx-game:v1 

-d後臺運行

 

 

例子2:查看正在運行的容器

[root@ken1 ~]# docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 95a695cffb03 nginx-game:v1 "nginx -g 'daemon of…" About a minute ago Up About a minute 0.0.0.0:88->80/tcp hardcore_shannon 

 

查看正在運行以及已經退出的容器

[root@ken1 ~]# docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 95a695cffb03 nginx-game:v1 "nginx -g 'daemon of…" 3 minutes ago Up 3 minutes 0.0.0.0:88->80/tcp hardcore_shannon 40799b6b38f2 busybox "/bin/sh" 7 minutes ago Exited (0) 6 minutes ago infallible_benz ac864729390b busybox "/bin/bash" 7 minutes ago Created elastic_swartz adbc635a8bf1 busybox "ip a" 8 minutes ago Exited (0) 8 minutes ago nervous_noyce 

 

例子3:在容器外執行命令

[root@ken1 ~]# docker exec -it 95a695cffb03 ls bin dev home lib64 mnt proc run srv tmp var boot etc lib media opt root sbin sys usr 

 

注意:

若是你要想操做容器的話,必須保證容器時up狀態即正在運行的狀態,exited狀態的容器時沒法進行操做的。

 

 

 

例子1:查看正在運行的容器

[root@ken1 ~]# docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 

 

例子2:查看全部的容器包括已經中止運行的容器

[root@ken1 ~]# docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 9105c43602d9 nginx-game:v1 "nginx -g 'daemon of…" 32 minutes ago Exited (0) 13 minutes ago laughing_moser 2c85ff7cc53b nginx-game:v1 "nginx -g 'daemon of…" 19 hours ago Exited (0) 9 hours ago ecstatic_blackburn 6a1d4f6a015c nginx-game:v1 "nginx -g 'daemon of…" 22 hours ago Exited (0) 22 hours ago youthful_kowalevski 95a695cffb03 nginx-game:v1 "nginx -g 'daemon of…" 22 hours ago Exited (137) 22 hours ago hardcore_shannon 40799b6b38f2 busybox "/bin/sh" 22 hours ago Exited (0) 22 hours ago infallible_benz ac864729390b busybox "/bin/bash" 22 hours ago Created elastic_swartz adbc635a8bf1 busybox "ip a" 22 hours ago Exited (0) 22 hours ago nervous_noyce 

 

例子3:刪除一個容器

方法一:長ID

[root@ken1 ~]# docker rm 9105c43602d9 9105c43602d9 

 

方法二:短ID

[root@ken1 ~]# docker rm 2c85ff7 2c85ff7 

 

方法三:容器名

[root@ken1 ~]# docker rm youthful_kowalevski youthful_kowalevski 

 

注意:刪除鏡像同樣!

 

例子4:後臺運行容器

 
[root@ken1 ~]# docker run -d nginx-game:v1 72f712bff84eff8ad0b371291ff488d21f25aca69c2f08a1fd52dd2718d2158c [root@ken1 ~]# docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 72f712bff84e nginx-game:v1 "nginx -g 'daemon of…" 4 seconds ago Up 3 seconds 80/tcp laughing_lovelace 

 

例子5:運行容器加多個參數

[root@ken1 ~]# docker run --name nginxtest -d --rm nginx-game:v1 2cdec372f4350dea46b9fc6ce37d14314a4ef1351f2ec10da662aa36919b6bbe [root@ken1 ~]# docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 2cdec372f435 nginx-game:v1 "nginx -g 'daemon of…" 3 seconds ago Up 2 seconds 80/tcp nginxtest 

–name 指定容器名字

-d 後臺運行

–rm 容器停掉以後自動刪除

 

例子6:批量刪除容器

[root@ken1 ~]# docker rm $(docker ps -aq) 95a695cffb03 40799b6b38f2 ac864729390b adbc635a8bf1 

 

注意:

這樣只能刪除已經退出的容器,沒法刪除正在運行的容器

若是也想要刪掉正在運行的容器,能夠在docker rm 後加-f選項進行強制刪除

 

 

例子7:查看容器信息

[root@ken1 ~]# docker inspect 72f712bff84e 

 

注:

查看容器暴露的端口:

方法一:

docker history IMAGE_ID

 

方法二:

查看容器詳細信息 docker inspect  CONTAINER_ID

 

 

例子8:查看容器運行狀態

[root@ken1 ~]# docker stats 72f712bff84e CONTAINER ID NAME CPU % MEM USAGE / LIMIT MEM % NET I/O BLOCK I/O PIDS 72f712bff84e laughing_lovelace 0.00% 1.344MiB / 1.779GiB 0.07% 648B / 0B 0B / 0B 2 

 

例子9:對容器內存使用量進行限制

[root@ken1 ~]# docker run -d -m 64M nginx-game:v1 

-m選項指定容器能夠使用的內存量

 

例子10:中止容器

[root@ken1 ~]# docker stop 8cd65493c7c1 8cd65493c7c1 [root@ken1 ~]# docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 72f712bff84e nginx-game:v1 "nginx -g 'daemon of…" 15 minutes ago Up 15 minutes 80/tcp laughing_lovelace 

 

例子11:啓動容器

[root@ken1 ~]# docker start 8cd65493c7c1 8cd65493c7c1 [root@ken1 ~]# docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 8cd65493c7c1 nginx-game:v1 "nginx -g 'daemon of…" 2 minutes ago Up 1 second 80/tcp loving_sammet 72f712bff84e nginx-game:v1 "nginx -g 'daemon of…" 15 minutes ago Up 15 minutes 80/tcp laughing_lovelace 

 

例子12:殺掉容器

[root@ken1 ~]# docker kill 8cd65493c7c1 8cd65493c7c1 [root@ken1 ~]# docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 72f712bff84e nginx-game:v1 "nginx -g 'daemon of…" 16 minutes ago Up 16 minutes 80/tcp laughing_lovelace [root@ken1 ~]# docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 8cd65493c7c1 nginx-game:v1 "nginx -g 'daemon of…" 2 minutes ago Exited (137) 6 seconds ago loving_sammet 72f712bff84e nginx-game:v1 "nginx -g 'daemon of…" 16 minutes ago Up 16 minutes 80/tcp laughing_lovelace 

 

docker容器操做的kill和stop區別:

stop優雅退出。-15 10秒以後-9

kill -9

 

例子13:查看容器日誌

[root@ken1 ~]# docker logs 8cd65493c7c1 

 

持續刷新檢測日誌:

[root@ken1 ~]# docker logs 8cd65493c7c1 -f 

-f 持續刷新

 

例子14:容器更名

[root@ken1 ~]# docker rename loving_sammet nginx-game

 

例子14:查看容器系統使用信息

[root@ken1 ~]# docker top nginx-game UID PID PPID C STIME TTY TIME CMD root 3054 3036 0 18:04 ? 00:00:00 nginx: master process nginx -g daemon off; 101 3088 3054 0 18:04 ? 00:00:00 nginx: worker process 

 

例子15:暫停容器

[root@ken1 ~]# docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 8cd65493c7c1 nginx-game:v1 "nginx -g 'daemon of…" 12 minutes ago Up 9 minutes (Paused) 80/tcp nginx-game 

 

例子16:再開啓容器

[root@ken1 ~]# docker unpause nginx-game nginx-game [root@ken1 ~]# docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 8cd65493c7c1 nginx-game:v1 "nginx -g 'daemon of…" 13 minutes ago Up 9 minutes 80/tcp nginx-game 

 

例子17:查看容器端口映射信息

[root@ken1 ~]# docker port 8cd65493c7c1 

 

例子18:進入容器

[root@ken1 ~]# docker exec -it 8cd65493c7c1 sh # # # # exit [root@ken1 ~]# docker exec -it 8cd65493c7c1 bash root@8cd65493c7c1:/# root@8cd65493c7c1:/# root@8cd65493c7c1:/# 

 

能夠選擇使用sh和bash進入容器

 

 

總結:進入容器的方式:4種進入容器的方法

方法一:exec  #在容器裏面退出,容器自己不會退出

方法二:attach  #容器自己退出 exitd

方法三:ssh

方法四:nsenter

 

端口映射

 

實現了外部環境訪問容器內部

 

四類端口映射:

 

第一類:把容器的端口隨機映射爲物理機的一個端口

第二類:把容器的端口映射爲物理機特定的一個端口

第三類:把容器的端口映射爲物理機特定網卡上的特定端口

第四類:把容器的端口映射爲物理機特定網卡上的隨機端口

 

第一類:把容器的端口隨機映射爲物理機的一個端口

使用的是大寫的-P

[root@ken1 ~]# docker run -d -P httpd #隨機映射爲物理機的端口 cd662b604a59f6715b28c1af62956dbf665d5c4916897fbeb844e0e77ba8b99e [root@ken1 ~]# docker ps #能夠查看到容器映射信息 CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES cd662b604a59 httpd "httpd-foreground" 12 seconds ago Up 11 seconds 0.0.0.0:32768->80/tcp happy_cray 50405dd6b651 httpd "httpd-foreground" 6 minutes ago Up 6 minutes 80/tcp busy_ardinghelli 72f712bff84e nginx-game:v1 "nginx -g 'daemon of…" About an hour ago Up About an hour 80/tcp laughing_lovelace [root@ken1 ~]# ss -tnl #物理機啓動會了相應的端口 State Recv-Q Send-Q Local Address:Port Peer Address:Port LISTEN 0 128 *:22 *:* LISTEN 0 100 127.0.0.1:25 *:* LISTEN 0 128 :::32768 :::* LISTEN 0 128 :::22 :::* LISTEN 0 100 ::1:25 :::* 

 

或者

[root@ken1 ~]# docker port cd662b604a59 80/tcp -> 0.0.0.0:32768 

 

注意:

使用-P選線。是把容器內全部expose的端口都映射爲物理機的隨機端口

 

第二類:把容器端口映射爲物理機特色端口

使用的是小寫的-p

[root@ken1 ~]# docker run -d -p 80:80 httpd #使用小寫p進行特定端口映射 15a01c693f4c4ffc0774bcb535fc5ec415aec9944f295ae9d468915b35019fae [root@ken1 ~]# docker port 15a01c693f4c 80/tcp -> 0.0.0.0:80 [root@ken1 ~]# ss -tnl State Recv-Q Send-Q Local Address:Port Peer Address:Port LISTEN 0 128 *:22 *:* LISTEN 0 100 127.0.0.1:25 *:* LISTEN 0 128 :::32768 :::* LISTEN 0 128 :::80 :::* LISTEN 0 128 :::22 :::* LISTEN 0 100 ::1:25 :::* 

 

– p 80:80  第一個80是 物理機端口,第二個80是容器端口,順序不能亂!另外物理機的端口不能被佔用!

 

第三類:把容器端口映射爲特色網卡上的隨機端口

使用小寫的p

[root@ken1 ~]# docker run -d -p 192.168.163.151::80 httpd ba79a389a467f56c31a0f8489c39a35c756d56bd6a53486d4bee68b3103589bf [root@ken1 ~]# docker port ba79a389a467f56c31a0f 80/tcp -> 192.168.163.151:32769 

-p 192.168.163.151::80把容器的80端口隨機映射爲192.168.163.151上的一個隨機端口

 

第四類:把容器端口映射爲特色網卡上的特色端口

[root@ken1 ~]# docker run -d -p 192.168.163.151:81:80 httpd 64ce1f926979f66992a0377fabef5859b45d9466854649b457d741e3020257d6 [root@ken1 ~]# docker port 64ce1f926979f66 80/tcp -> 192.168.163.151:81 [root@ken1 ~]# ss -tnl State Recv-Q Send-Q Local Address:Port Peer Address:Port LISTEN 0 128 192.168.163.151:32769 *:* LISTEN 0 128 192.168.163.151:81 *:* 

-p 192.168.163.151:81:80 把容器80端口映射爲192.168.163.151上的81端口

 

 

總結;

1.在端口映射中使用到了兩個選項一個是大寫的P,表示把容器暴露的端口隨機映射爲物理機上的一個隨機端口,不能指定特定網卡

2.另一個是小寫的p,能夠把容器暴露的端口映射爲物理機特定的端口

3.或者映射爲物理機特定網卡上的隨機端口

4.或者特定網卡上的特定端口

 

 

使用commit製做鏡像

製做鏡像的方法:

方法一:

commit

使用commit製做鏡像使基於一個現有的容器

 

 

方法二:

Dockefile

 

 

 

使用commit製做鏡像實踐

 

第一步:啓動容器

[root@ken1 ~]# docker run -d httpd 

 

第二步:修改網站首頁文件

[root@ken1 ~]# docker exec -it 3cf31d57a61569c09c8024 bash root@3cf31d57a615:/usr/local/apache2# pwd /usr/local/apache2 root@3cf31d57a615:/usr/local/apache2# ls bin build cgi-bin conf error htdocs icons include logs modules root@3cf31d57a615:/usr/local/apache2# cd htdocs/ root@3cf31d57a615:/usr/local/apache2/htdocs# ls index.html root@3cf31d57a615:/usr/local/apache2/htdocs# echo "this is for testing commit" > index.html root@3cf31d57a615:/usr/local/apache2/htdocs# exit exit [root@ken1 ~]# curl 192.168.163.5:88 this is for testing commit 

 

第三步:進行commit提交

[root@ken1 ~]# docker commit -p 3cf31d57a61569c09c8 nginx-com:v1 sha256:5de6e803346c00b4373ad2b49b9caf0dbe12f23a105d8a47c6e6aaca465ff6e6 [root@ken1 ~]# docker image ls REPOSITORY TAG IMAGE ID CREATED SIZE nginx-com v1 5de6e803346c 4 seconds ago 178MB 

 

如今就能夠把配置好的環境發送給其餘人使用

 

第四步:把鏡像製做成壓縮包

[root@ken1 ~]# docker image save nginx-com:v1 > nginx-com.tar [root@ken1 ~]# ls anaconda-ks.cfg busybox1.31-v2.tar httpd_img.tar.gz nginx-game.tar test1 busybox1.31.tar docker-speend.sh nginx-com.tar test 

 

第五步:進行發送

[root@ken1 ~]# scp nginx-com.tar 192.168.163.134:/root root@192.168.163.134's password: nginx-com.tar 100% 178MB 37.2MB/s 00:04 

 

第六步:其餘人進行使用

[root@ken-node3 ~]# docker image load < nginx-com.tar 9f5d674a9055: Loading layer [==================================================>] 7.168kB/7.168kB Loaded image: nginx-com:v1 [root@ken-node3 ~]# docker image ls REPOSITORY TAG IMAGE ID CREATED SIZE nginx-com v1 5de6e803346c Less than a second ago 178MB [root@ken-node3 ~]# docker run -d -p 87:80 nginx-com:v1 515ec3c0d991ea617dfa243096538d78ba323b1b96c2e8ab13f5d61f1d5ea45d [root@ken-node3 ~]# curl 192.168.163.134:87 this is for testing commit 

 

阿里雲鏡像倉庫

 

鏡像倉庫

1,阿里雲鏡像倉庫

2.dockerhub

3.registory私有鏡像倉庫

 

 

使用阿里雲鏡像倉庫

 

第一步:註冊登陸

 

第二步:建立鏡像倉庫

 

第三步:命令行登陸阿里雲

[root@ken1 ~]# docker login --username=kenkendyg registry.cn-hangzhou.aliyuncs.com Password: #是你註冊的阿里雲帳號密碼 WARNING! Your password will be stored unencrypted in /root/.docker/config.json. Configure a credential helper to remove this warning. See https://docs.docker.com/engine/reference/commandline/login/#credentials-store Login Succeeded 

 

第四步:更名

[root@ken1 ~]# docker tag nginx-com:v1 registry.cn-hangzhou.aliyuncs.com/kenken/nginx-com:v1 [root@ken1 ~]# docker image ls REPOSITORY TAG IMAGE ID CREATED SIZE nginx-com v1 5de6e803346c 11 minutes ago 178MB registry.cn-hangzhou.aliyuncs.com/kenken/nginx-com v1 5de6e803346c 11 minutes ago 178MB 

 

第五步:推送

[root@ken1 ~]# docker push registry.cn-hangzhou.aliyuncs.com/kenken/nginx-com:v1 

 

第六步:查看

阿里雲鏡像版本

 

第七步:拉取

[root@ken-node3 ~]# docker pull registry.cn-hangzhou.aliyuncs.com/kenken/nginx-com:v1 

 

能夠進行更名操做

第一步:首先查看相關鏡像

[root@ken-node3 ~]# docker image ls REPOSITORY TAG IMAGE ID CREATED SIZE nginx-com v1 5de6e803346c Less than a second ago 178MB registry.cn-hangzhou.aliyuncs.com/kenken/nginx-com v1 5de6e803346c Less than a second ago 178MB

 

第二步:更名

[root@ken-node3 ~]# docker tag registry.cn-hangzhou.aliyuncs.com/kenken/nginx-com:v1 nginx-com:v1 

 

第三步:刪除相關鏡像

[root@ken-node3 ~]# docker rmi registry.cn-hangzhou.aliyuncs.com/kenken/nginx-com:v1 

 

 

鏡像分類:

1,工具類的鏡像(容器)

2,服務類的鏡像(容器)

 

工具類鏡像好比busybox,centos啓動工具類鏡像是使用交互模式docker run -it

服務類鏡像好比nginx,redis,httpd啓動服務類鏡像使用的是docker -d

相關文章
相關標籤/搜索