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
容器命令
在运行镜像中,后面需要带一些指令的信息,这些指令的信息具体汇总为如下:
详细详细的演示下各个指令的具体使用,具体如下:
#运行容器的指令
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
感谢您的阅读,后续会持续更新!