Nginx 指定容器名称 使用 ctr contAIner create 命令创建容器后,容器并没有处于运行状态,其只是一个静态的容器 。
文章插图
容器基本操作容器基本操作主要是 ctr image 命令,查看命令帮助:
[root@localhost ~]# ctr containers -hNAME:ctr containers - Manage containersUSAGE:ctr containers command [command options] [arguments...]COMMANDS:createCreate containerdelete, del, remove, rmDelete one or more existing containersinfoGet info about a containerlist, lsList containerslabelSet and clear labels for a containercheckpointCheckpoint a containerrestoreRestore a container from checkpointOPTIONS:--help, -hshow help
创建静态容器create:[root@localhost ~]# ctr container create Docker.io/library/nginx:alpine nginx
nginx 指定容器名称 使用 ctr container create 命令创建容器后,容器并没有处于运行状态,其只是一个静态的容器 。这个 container 对象只是包含了运行一个容器所需的资源及配置的数据结构,例如:namespaces、rootfs 和容器的配置都已经初始化成功了,只是用户进程(本案例为nginx)还没有启动 。需要使用ctr tasks命令才能获取一个动态容器 。查看容器
[root@localhost ~]# ctr container lsCONTAINERIMAGERUNTIMEnginxdocker.io/library/nginx:alpineio.containerd.runc.v2
加上 -q 选项 仅查看名字:[root@localhost ~]# ctr container ls -qnginx
也可以简写:[root@localhost ~]# ctr c ls -qnginx
查看容器详细配置,类似于 docker inspect 功能 。[root@localhost ~]# ctr container info nginx
删除容器[root@localhost ~]# ctr container rm nginx[root@localhost ~]# ctr container lsCONTAINERIMAGERUNTIME
容器任务上面我们通过 container create 命令创建的容器,并没有处于运行状态,只是一个静态的容器 。一个 container 对象只是包含了运行一个容器所需的资源及相关配置数据,表示 namespaces、rootfs 和容器的配置都已经初始化成功了,只是用户进程还没有启动 。一个容器真正运行起来是由 Task 任务实现的,Task 可以为容器设置网卡,还可以配置工具来对容器进行监控等 。我们操作容器实际上是对容器进程操作 。1.静态容器启动为动态容器将静态容器启动为动态容器,使用 ctr task 命令 Task 相关操作可以通过 ctr task 获?。?缦挛颐峭ü?Task 来启动容器:
[root@localhost ~]# ctr task start -d nginx
-d是一个命令行选项,它的全称是--detach 。这个选项告诉ctr task start命令在启动任务后立即返回,让任务在后台运行 。2.查看容器进程通过 task ls 查看正在运行的容器进程:
[root@localhost ~]# ctr task lsTASKPIDSTATUSnginx22945RUNNING
通过ps 查看 , 其中第一个 PID 23181 就是我们容器中的 1 号进程 。[root@localhost ~]# ctr task ps nginxPIDINFO23181-23208-
查看物理机进程,可以看到相应的进程ID:23181 、23208 可以对应的上:[root@localhost ~]# ps -aux|grep nginxroot231590.02.1 722644 20916 ?Sl13:010:00 /usr/local/bin/containerd-shim-runc-v2 -namespace default -id nginx -address /run/containerd/containerd.sockroot231810.00.589045120 ?Ss13:010:00 nginx: master process nginx -g daemon off;101232080.00.294002256 ?S13:010:00 nginx: worker processroot232660.00.2 1128362332 pts/3S+13:150:00 grep --color=auto nginx
3.exec终端操作[root@localhost ~]# ctr task exec --exec-id 0 -t nginx sh/ # lsbindocker-entrypoint.detclibmntprocrunsrvtmpvardevdocker-entrypoint.shhomemediaoptrootsbinsysusr/ # pwd/
这里要注意 --exec-id参数 为 exec 进程设定一个id , 可以随意输入,只要保证唯一即可 , 也可使用$RANDOM变量 。4.运行一个动态容器
[root@localhost ~]# ctr run -d -.NET-host docker.io/library/nginx:alpine nginx2[root@localhost ~]# ctr c lsCONTAINERIMAGERUNTIMEnginxdocker.io/library/nginx:alpineio.containerd.runc.v2nginx2docker.io/library/nginx:alpineio.containerd.runc.v2[root@localhost ~]# ctr task lsTASKPIDSTATUSnginx23181RUNNINGnginx223339RUNNING
- -d 代表dameon,后台运行
- --net-host 代表容器的IP就是宿主机的IP(相当于docker里的host类型网络)
[root@localhost ~]# ctr task exec --exec-id 1 -t nginx2 /bin/sh/ # ifconfigeno16777736 Link encap:EthernetHWaddr 00:0C:29:AD:FC:E9inet addr:192.168.36.137Bcast:192.168.36.255Mask:255.255.255.0inet6 addr: fe80::20c:29ff:fead:fce9/64 Scope:LinkUP BROADCAST RUNNING MULTICASTMTU:1500Metric:1RX packets:2304427 errors:0 dropped:0 overruns:0 frame:0TX packets:462774 errors:0 dropped:0 overruns:0 carrier:0collisions:0 txqueuelen:1000RX bytes:3259139229 (3.0 GiB)TX bytes:182005861 (173.5 MiB)loLink encap:Local Loopbackinet addr:127.0.0.1Mask:255.0.0.0inet6 addr: ::1/128 Scope:HostUP LOOPBACK RUNNINGMTU:65536Metric:1RX packets:8 errors:0 dropped:0 overruns:0 frame:0TX packets:8 errors:0 dropped:0 overruns:0 carrier:0collisions:0 txqueuelen:1000RX bytes:696 (696.0 B)TX bytes:696 (696.0 B)/ # curl 192.168.36.137<!DOCTYPE html><html><head><title>Welcome to nginx!</title><style>html { color-scheme: light dark; }body { width: 35em; margin: 0 auto;font-family: Tahoma, Verdana, Arial, sans-serif; }</style></head><body><h1>Welcome to nginx!</h1><p>If you see this page, the nginx web server is successfully installed andworking. Further configuration is required.</p><p>For online documentation and support please refer to<a href=https://www.isolves.com/it/cxkf/rongqi/2024-03-20/"http://nginx.org/">nginx.org
推荐阅读
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Java 8 内存管理原理解析及内存故障排查实践
- 淘宝的评价管理在哪里查看 淘宝的评价管理在哪里
- 微信授权管理在哪里怎么添加应用 微信授权管理在哪里
- 在他人土地上建厕所违反治安管理处罚法吗
- 韩国知名女模特,米兰时装周也坚持自我管理,不愧“女版金钟国”
- 酒店客房管理知识点 酒店客房管理知识
- 不良情绪的管理办法包括 不良情绪的管理办法
- 如何管理生成式AI
- 女生输液时为了不浪费时间,约上美甲服务,网友赞:时间管理大师
- 度小满网盘会员怎么关闭续费,百度网盘怎么管理会员自动续费