Docker镜像容器操作常用命令

Docker常用命令

一、镜像 image 相关

1、列出本地主机镜像

docker images

2、删除镜像(使用标签删除)

例如有以下镜像

REPOSITORY                                                      TAG                 IMAGE ID            CREATED             SIZE
daocloud.io/library/mysql                                       latest              5195076672a7        2 weeks ago         371 MB
registry.cn-hangzhou.aliyuncs.com/base-img/pod-infrastructure   latest              34d3450d733b        14 months ago       205 MB
docker.io/kubeguide/tomcat-app                                  v2                  00beaa1d956d        20 months ago       358 MB

要删除 registry.cn-hangzhou.aliyuncs.com/base-img/pod-infrastructure 镜像

docker rmi registry.cn-hangzhou.aliyuncs.com/base-img/pod-infrastructure:latest

3、删除镜像(使用ImageId删除)

例如有以下镜像

REPOSITORY                                                      TAG                 IMAGE ID            CREATED             SIZE
daocloud.io/library/mysql                                       latest              5195076672a7        2 weeks ago         371 MB
registry.cn-hangzhou.aliyuncs.com/base-img/pod-infrastructure   latest              34d3450d733b        14 months ago       205 MB
docker.io/kubeguide/tomcat-app                                  v2                  00beaa1d956d        20 months ago       358 MB

要删除 registry.cn-hangzhou.aliyuncs.com/base-img/pod-infrastructure 镜像,IMAGE ID只要能与其它镜像区分开就可以使用ID前几位删除镜像

docker rmi 34d3

删除所有镜像文件

docker image rm $(docker image ls -a -q)

4、导出镜像文件,用于迁移存入本地镜像

root@vultr:~# docker images
REPOSITORY                                            TAG                 IMAGE ID            CREATED             SIZE
registry.access.redhat.com/rhel7/pod-infrastructure   latest              99965fb98423        5 months ago        209 MB
docker save -o pod-infrastructure.tar registry.access.redhat.com/rhel7/pod-infrastructure:latest

5、添加(修改)镜像名

可以创建一个新的镜像名,这个镜像实际还是引用了之前的镜像,如果要实现修改,可以添加镜像名后再删除之前的镜像。
使用docker images时,可能会出现REPOSITORY 和TAG均为none的镜像,如下图
修改镜像名1

docker tag IMAGEID(镜像id) REPOSITORY:TAG(仓库:标签)

#例子
# docker tag f66f4bd9b894 registry.access.redhat.com/rhel7/pod-infrastructure:latest

修改镜像名2

二、容器相关

1、创建容器,处于停止状态

创建centos容器实例,版本为latest;本地有镜像则从本地取,没有从远程拉取,创建成功后返回容器ID

docker create centos:7.2.1511

2、创建并启动容器

本地有则从本地取,没有从远程拉取镜像

docker run centos:7.2.1511

docker run -ti centos:7.2.1511 /bin/bash

#后台运行
docker run -dti centos:7.2.1511 /bin/bash

3、列出容器实例

正在运行的容器:

docker container ls
[root@benserver ~]# docker container ls
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS                  NAMES
abdbb0b0b2ca        friendlyhello       "python app.py"     7 minutes ago       Up 7 minutes        0.0.0.0:4000->80/tcp   fervent_almeida

列出全部容器:

[root@benserver ~]# docker container ls --all
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS                         PORTS                  NAMES
abdbb0b0b2ca        friendlyhello       "python app.py"          11 minutes ago      Up 11 minutes                  0.0.0.0:4000->80/tcp   fervent_almeida
f4ea6c3f3b5a        friendlyhello       "python app.py"          42 minutes ago      Exited (0) 24 minutes ago                             kind_hypatia
5b66b4a723d6        hello-world         "/hello"                 48 minutes ago      Exited (0) 48 minutes ago                             stoic_stallman
58d7cfb6c42e        ubuntu              "/bin/bash"              About an hour ago   Exited (0) About an hour ago                          testubuntu

4、停止容器

停止容器Id为abdbb0b0b2ca的容器

[root@benserver ~]# docker container ls
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS                  NAMES
abdbb0b0b2ca        friendlyhello       "python app.py"     23 minutes ago      Up 23 minutes       0.0.0.0:4000->80/tcp   fervent_almeida
docker container stop abdbb0b0b2ca

强制停止容器

docker container kill <hash>

5、删除容器

删除指定容器

docker container rm <hash>

删除所有容器

docker container rm $(docker container ls -a -q)

6、使用docker exec进入Docker容器

docker在1.3.X版本之后还提供了一个新的命令exec用于进入容器,这种方式相对更简单一些

docker ps
docker exec -it 775c7c9ee1e1 /bin/bash

7、重启容器

docker restart <name>

8、列出Docker在运行的进程

docker ps <name>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值