zl程序教程

您现在的位置是:首页 >  其他

当前栏目

Docker容器的管理

2023-03-31 10:29:08 时间

docker run 镜像名称 这个过程可以理解为:把镜像文件创建成docker容器的一部分,然后再进行启动。特别需要注意的是:容器内的进程必须是前台运行状态,否则容器直接退出。还有一点特别需要提醒的是:docker run 镜像名 如果镜像文件在本地不存在,就会在线去下载该镜像的资源信息。docker的容器启动成功后,使用docker ps -a可以查看容器的ID记录信息。下面详细的演示这部分的应用:

#运行docker的镜像信息
[root@wuyaShare ~]# docker run -it centos:7.8.2003 bash
[root@b8c896d0a0d6 /]# date
Wed Oct 20 08:42:46 UTC 2021
[root@b8c896d0a0d6 /]# exit
exit
#查看运行的docker镜像的容器记录信息
[root@wuyaShare ~]# docker ps -a | grep centos
b8c896d0a0d6   centos:7.8.2003   "bash"  13 seconds ago   Exited (0) 7 seconds ago

容器命令

在运行镜像中,后面需要带一些指令的信息,这些指令的信息具体汇总为如下:

  • -d:后台运行
  • -it:交互式命令
  • --rm:容器挂掉后自动被删除
  • --name:给容器起一个名字
  • -p:端口映射

详细详细的演示下各个指令的具体使用,具体如下:

#运行容器的指令
docker run -it --rm  --name centos.7.8.2003  centos:7.8.2003
#查看到的容器记录的信息
docker ps -a | grep centos
360df4b98625   centos:7.8.2003   "/bin/bash" 10 seconds ago   Up 9 seconds    centos.7.8.2003

容器信息查看

一个容器执行后,我们可以使用如下的指令查看容器的详细信息,具体指令为:

#运行hello-world的容器
[root@wuyaShare ~]# docker run hello-world
Unable to find image 'hello-world:latest' locally
latest: Pulling from library/hello-world

#查看运行容器的记录信息
[root@wuyaShare ~]# docker ps -a | grep hello-world
b87b70fd99b5   hello-world   "/hello"     11 seconds ago   Exited (0) 11 seconds ago  keen_dewdney

#查看容器的详细记录信息
[root@wuyaShare ~]# docker container inspect b87b70fd99b5
#备注,执行后,就会显示该容器的详细的信息

容器中log查看

在docker容器中,查看容器的日志信息的命令为:

docker logs  -f  容器ID

下面详细的演示下这部分的使用,具体为:

docker run -it --rm centos:7.8.2003 bash
[root@51e2db607d0c /]#
#查询到容器的ID信息
docker ps -a | grep centos
51e2db607d0c   centos:7.8.2003   "bash"  16 seconds ago   Up 14 seconds                         great_kepler

#查看容器的日志信息
docker  logs -f 51e2db607d0c

#在容器中操作的输出,就会显示到日志中,具体容器的操作如下:
[root@51e2db607d0c /]# echo "Hello Docker!"
bash: !": event not found
[root@51e2db607d0c /]# date 
Wed Oct 20 08:55:41 UTC 2021
[root@51e2db607d0c /]# touch index.py
#日志文件显示的信息:
[root@wuyaShare ~]# docker  logs -f 51e2db607d0c
[root@51e2db607d0c /]# echo "Hello Docker!"
bash: !": event not found
[root@51e2db607d0c /]# date 
Wed Oct 20 08:55:41 UTC 2021
[root@51e2db607d0c /]# touch index.py
#如果只显示最新的5条日志信息,那么执行的命令为:
docker logs  51e2db607d0c | tail -5

容器提交

在一个容器里面,比如centos里面安装了vim的编辑器,如果没进行提交,那么下次进入还需要安装vim的编辑器,这其实是非常不友好的,我们更加想要的是一个容器里面安装对应的应用程序后,下次进入还是存在的,但是前提条件是需要提交,下面详细的演示下这部分的应用,具体步骤如下:

#运行容器
[root@wuyaShare ~]# docker run -it --rm centos:7.8.2003 bash
[root@b237640cd900 /]# vim
bash: vim: command not found

#容器里面安装vim
[root@b237640cd900 /]# yum install vim -y
#查询容器的ID
[root@wuyaShare ~]# docker ps -a | grep centos
b237640cd900   centos:7.8.2003   "bash"  2 minutes ago   Up 2 minutes quizzical_kalam

#提交容器
[root@wuyaShare ~]# docker commit b237640cd900 centos_vim
sha256:bd0cd838f38d18dd8a840d9c0267b0ed2b5400cbb42c1267afcda4fbc36b8b2d
#提交容器的时候,切记一定要保持运行的容器是不能退出的
#退出容器,查看镜像信息,就会显示最新提交的centos_vim
[root@wuyaShare ~]# docker  images | grep centos
centos_vim    latest     bd0cd838f38d   About a minute ago   402MB
centos        7.8.2003   afb6fca791e0   17 months ago        203MB

#进入到容器centos_vim,就会显示出vim的编辑器
[root@wuyaShare ~]# docker run -it --rm centos_vim  bash
[root@a46fc0e60c71 /]# vim

容器启动&停止

容器运行后,可以启动容器,也是可以停止容器,以及查看容器的端口信息,下面还是以nginx的镜像信息为案例,来演示下这部分。下面以nginx的镜像为案例来演示它的具体容器的停止和启动的演示,具体命令信息如下:

#运行镜像容器信息
[root@wuyaShare ~]# docker run  -d  -p 80:80 nginx
dc42dd7323a3b5de103f679378cb3f3288ed7e623c175acbd6420a68e7fb3bd4

#查看容器记录ID的信息
[root@wuyaShare ~]# docker ps -a
CONTAINER ID   IMAGE     COMMAND                  CREATED         STATUS         PORTS                NAMES
dc42dd7323a3   nginx     "/docker-entrypoint.…"   3 seconds ago   Up 2 seconds   0.0.0.0:80->80/tcp   brave_khayyam

#查看容器的端口
[root@wuyaShare ~]# docker port dc42dd7323a3
80/tcp -> 0.0.0.0:80
#停止容器
[root@wuyaShare ~]# docker stop dc42dd7323a3
dc42dd7323a3
[root@wuyaShare ~]# docker port dc42dd7323a3
#启动容器,启动容器后,就可以查看容器的ID的信息了
[root@wuyaShare ~]# docker start dc42dd7323a3
dc42dd7323a3
[root@wuyaShare ~]# docker port dc42dd7323a3
80/tcp -> 0.0.0.0:80

在容器的管理中,也是可以通过exec的命令方式来查看容器交互式的命令信息,涉及到的命令信息以及交互具体如下:

#运行容器信息
[root@wuyaShare ~]# docker run -it --rm centos:7.8.2003  bash
[root@3466f8fe336c /]# touch index.txt
#通过exec命令的方式进入到交互式的命令信息
[root@wuyaShare ~]# docker exec  -it 3466f8fe336c bash 
[root@3466f8fe336c /]# ls 
anaconda-post.log  dev  home       lib    media  opt   root  sbin  sys  usr
bin      etc  index.txt  lib64  mnt    proc  run   srv   tmp  var

感谢您的阅读,后续会持续更新!