美文网首页
4.Docker Image

4.Docker Image

作者: 香沙小熊 | 来源:发表于2020-02-25 15:39 被阅读0次

1.什么是Container

container大致是这么一个东西:

  • 运行image后对应的实例
  • container由以下几个部分组成
  1. 一个Docker镜像
  2. 根据Docker镜像以及内核形成的linux可执行环境

通过Image创建的
在Image layer之上建立一个container layer(可读写)
类比面向对象,类和实例,容器就是实例,Image就是类
Image负责application的存储和分发,Container负责运行app

2.docker container常用命令:

container命令 作用
attach 将本地标准输入,输出和错误流附加到正在运行的容器
commit 根据容器的更改创建新图像
cp 在容器和本地文件系统之间复制文件/文件夹
create 创建但不运行
diff 检查容器文件系统上文件或目录的更改
exec 在正在运行的容器中运行命令
export 将容器的文件系统导出为tar存档
inspect 显示容器的详细信息
kill 杀死一个或多个正在运行的容器
logs 获取容器的日志
ls 显示所有容器
pause/unpause 暂停/停止暂停容器
port 列出端口映射或容器的特定映射
prune 删除所有已经停止的容器
rename 给容器重新命名
restart 重新启动容器
rm 删除容器
run 运行容器
start/stop 启动或停止容器
stats 显示容器资源使用情况统计信息的实时流
top 查看容器运行进程
update 升级容器配置
wait 阻止,直到一个或多个容器停止,然后打印退出代码
显示所有容器
  • docker container ls 命令可以查看当前正在运行的容器
[root@localhost hello-world]# docker container ls
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
  • docker container ls -a 可以列举出所有的容器,包括正在运行的和没有运行的容器


    image.png
运行docker容器
  1. 运行docker容器可以使用 docekr run <IMAGE STRING>,但用这个命令运行的容器会在运行完后,容器就自动退出了,不能跟用户有交互的效果。
  2. 想要有交互效果可以使用docker run -it <IMAGE STRING>命令。
[root@localhost hello-world]# docker run -it 5e35e350aded
[root@f96ab002a980 /]# 

5e35e350aded 是docker 中centos的容器id

我们可以看到,这样就相当于进入了一个操作系统里面。另起一个终端,输入docker container ls,可以看到当前正在运行的容器:

[root@localhost ~]# docker container ls
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
f96ab002a980        5e35e350aded        "/bin/bash"         2 minutes ago       Up 2 minutes                            jovial_lewin
  1. 后台运行container容器,使用 docker run -d <IMAGE STRING>

  2. 退出当前正在运行的容器,键入exit命令。

运行docker容器 简写
docker ps -a 命令等价于docker container ls -a
[root@localhost ~]# docker ps -a 
CONTAINER ID        IMAGE                  COMMAND             CREATED             STATUS                       PORTS               NAMES
e932971475d2        5e35e350aded           "/bin/bash"         2 minutes ago       Exited (0) 2 minutes ago                         infallible_aryabhata
2097b496ffa7        5e35e350aded           "/bin/bash"         2 minutes ago       Exited (0) 2 minutes ago                         eager_chaplygin
f96ab002a980        5e35e350aded           "/bin/bash"         6 minutes ago       Exited (127) 2 minutes ago                       jovial_lewin
ec7f5537703e        5e35e350aded           "/bin/bash"         39 minutes ago      Exited (0) 39 minutes ago                        vibrant_franklin
ca3d19e484fc        kpioneer/hello-world   "/hello"            4 hours ago         Exited (13) 4 hours ago                          lucid_mendeleev
列举出所有container的id

-q:列出所有的id

docker container ls -aq
[root@localhost ~]# docker container ls -aq
2097b496ffa7
f96ab002a980
ec7f5537703e
ca3d19e484fc

上面这条命令的效果跟命令docker container ls -a | awk {'print$1'}是一样的:

[root@localhost ~]# docker container ls -a | awk {'print$1'}
CONTAINER
2097b496ffa7
f96ab002a980
ec7f5537703e
ca3d19e484fc

列举出所有已退出container

[root@localhost ~]# docker container ls -f "status=exited"
CONTAINER ID        IMAGE                  COMMAND             CREATED             STATUS                        PORTS               NAMES
2097b496ffa7        5e35e350aded           "/bin/bash"         12 minutes ago      Exited (0) 12 minutes ago                         eager_chaplygin
f96ab002a980        5e35e350aded           "/bin/bash"         16 minutes ago      Exited (127) 12 minutes ago                       jovial_lewin
ec7f5537703e        5e35e350aded           "/bin/bash"         49 minutes ago      Exited (0) 49 minutes ago                         vibrant_franklin
ca3d19e484fc        kpioneer/hello-world   "/hello"            4 hours ago         Exited (13) 4 hours ago                           lucid_mendeleev

列举出所有已退出container的id

[root@localhost ~]# docker container ls -f "status=exited" -q
2097b496ffa7
f96ab002a980
ec7f5537703e
ca3d19e484fc
docker 删除某个Container的命令
docker rm <CONTAINER ID>
[root@localhost ~]# docker  rm  e932971475d2
e932971475d2
删除掉所有的container
docker rm $(docker container ls -aq)
[root@localhost ~]# docker rm $(docker container ls -aq)
2097b496ffa7
f96ab002a980
ec7f5537703e
ca3d19e484fc
删除掉所有已退出的container
docker rm $(docker container ls -f "status=exited" -q)
[root@localhost ~]# docker rm $(docker container ls -f "status=exited" -q)
6b1d4d788291
be8fc00a50d2
f720c86b7c09
af40e1b22328

相关文章

  • 4.Docker Image

    1.什么是Container container大致是这么一个东西: 运行image后对应的实例 containe...

  • Docker常用命令

    1.docker info 2.docker version 3.docker images 4.docker p...

  • 小白学Docker<二>

    小白学Docker<一> 4.Docker file常用指令 指令的一般格式为 指令名称 参数 。 FROM 支...

  • 4.docker数据卷

    1.是什么? docker容器产生的数据,如果不通过docker commit生成新的镜像,使得数据做为镜像的一部...

  • 出版社电子资源

    image image image image image image image image image ima...

  • 4.docker镜像相关命令

    1.列出主机上的docker镜像 其中各个参数意义为: REPOSITORY:表示镜像的仓库源TAG:镜像的标签I...

  • 72个国外优秀创意广告设计作品

    Full Image Full Image Full Image Full Image Full Image Fu...

  • angular

    image.png image.png image.png image.png image.png image.p...

  • JS事件图解

    image.png image.png image.png image.png image.png image.p...

  • VMware 创建虚拟机

    image.png image.png image.png image.png image.png image.p...

网友评论

      本文标题:4.Docker Image

      本文链接:https://www.haomeiwen.com/subject/ryftchtx.html