Docker常用命令(二)

删除镜像命令

#删除的前提条件是被删除的镜像没有被使用(start,run ,stop 状态的都算运行)
#删除单个镜像
docker rmi   镜像ID
#删除多个镜像
docker rmi   镜像名1:TAG 镜像名2:TAG
#删除所有的镜像 ,docker images -qa会列出所有的镜像id
docker rmi   $(docker images -qa)

#额外的参数 -f  可以删除非运行状态下的镜像
docker rmi -f  镜像ID
docker rmi -f  镜像名1:TAG 镜像名2:TAG
docker rmi -f  $(docker images -qa)

删除虚悬镜像

下面这个样子的查询就是虚悬镜像,即REPOSITORY和TAG是none的
此类情况在docker pull ,docker build 都会产生(TAG冲突产生的)

[root@VM-20-4-centos caddy]# docker images -a
REPOSITORY        TAG              IMAGE ID       CREATED        SIZE
<none>            <none>           c62a8656957d   7 days ago     1.08GB

可以是用下面的两个命令进行删除

docker image prune

列出运行的容器

#命令样式
docker ps [OPTIONS]
#列出正在运行的容器
docker ps
#-a:列出当前所有正在运行的容器+历史上运行过的
docker ps -a
#-l:显示最近创建的容器
docker ps -l
#-n:显示最近n个创建的容器
docker ps -n
#-q:静默模式,只显示容器编号
docker ps -q

#上面的命令可以组合使用例如
#显示所有的容器的编号
docker ps -qa

运行容器

docker run [OPTIONS]
#例子 运行一个Ubuntu镜像,下面的命令运行最新版本的Ubuntu,并进入交互模式。进入点是 /bin/bash
#-it前台交互模式,即运行后进进入了Ubuntu
#ubuntu   ubuntu是镜像的名字,如果本地没有此镜像名字,会自动下载到本地
#ubuntu:[TAG]  后面的[TAG] 可以指定版本号,具体版本号可以去hub.docker.com进行查询,如果没写此版本号,则下载ubuntu:latest 版本;注意latest版本不一定是最新的
docker run -it ubuntu /bin/bash

#具体的参数
#--name="容器新名字"       为容器指定一个名称;
docker run -it --name myUbuntu ubuntu  /bin/bash
#运行一个Ubuntu,指定名字是myUbuntu ,名字是随意的,但不能和已有容器名字相同,如果不指定,随机生成个名字

#-d: 后台运行容器并返回容器ID,也即启动守护式容器(后台运行);
docker run -d ubuntu  /bin/bash
#上面这句运行后,容器启动后会直接停止,因为什么都没干,容器就自动暂停了
 
#-i:以交互模式运行容器,通常与 -t 同时使用;
#-t:为容器重新分配一个伪输入终端,通常与 -i 同时使用;
docker run -it ubuntu  /bin/bash
#正常启动了一个交互模式的容器

#下面后台启动了容器,并分配了交互模式,此容器会在后台一直运行
docker run -idt ubuntu  /bin/bash
 
#-P: 随机端口映射,大写P 一般不使用此项
#-p: 指定端口映射,小写p
docker run -idt -p 6666:8080 ubuntu  /bin/bash
#后台启动一个容器,并将本地的6666挂载到容器的 8080端口,这时候访问系统的6666端口,就可以直接访问到容器的8080端口

#-v 挂载指定的目录
docker run -idt -v /data/config:/etc/config ubuntu  /bin/bash
#将系统文件夹/data/config 挂载到容器内 /etc/config 文件夹, 

退出运行中的容器

#启动并进入容器
docker run -it ubuntu  /bin/bash
#1.退出容器,输入exit退出,此种退出,容器将停止
#按键盘 ctrl+p+q退出,此种退出,容器继续运行

容器启停的几个命令

#启动一个停止的容器
docker start 容器ID或者容器名
#停止一个正在运行的容器
docker stop 容器ID或者容器名
#重启一个容器
docker restart 容器ID或者容器名
#强制停止一个容器
docker kill 容器ID或者容器名
#删除一个停止的容器
dockert rm 容器ID或者容器名
#强制删除一个容器,无论是否在运行中
dockert rm -f 容器ID或者容器名

#删除多个容器
docker rm -f  容器ID1  容器ID2  容器ID3
#查询后删除,下面的语句会删除所有的容器
docker rm -f $(docker ps -a -q)

#查看容器日志
docker logs 容器ID或者容器名
#查看容器的运行的进程
docker top 容器ID或者容器名
#查看容器的配置,如挂载,网络,等等,容器的配置信息
docker inspect 容器ID或者容器名

进入容器命令

#一个已经运行的容器,如果想进入
docker exec -it 容器ID或者容器名 /bin/bash
#上面命令进入到了shell,
#/bin/bash  并不是唯一的,也可能是/bin/sh,因为容器内可能使用不同的shell

#重新进入容器
docker attach 容器ID

#exec 和attach的区别
#exec是开启了一个新的线程进入到容器
#attach是理由已有的进程进入,如果这样进入后执行exit命令,容器可能会暂停

拷贝文件到容器

#第一种方式
docker cp 容器ID:容器内路径 系统文件路径
#第二种方式
#如果使用了-v 进行文件夹挂载,则直接拷贝文件到 挂载目录即可

##容器归档

#将容器内容保存到硬盘上
docker export 容器ID > test.tar.gz
#将此归档文件导入到镜像
cat test.tar.gz | docker import - 镜像用户/镜像名:镜像版本号
#镜像用户 就是当前的登录用户,我用的root  

常用的镜像命令就这这里了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

atadmin

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值