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

相关文章
相关标签/搜索