ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

如何在swarm中部署service时,指定容器运行的命令?

2022-09-15 11:02:45  阅读:261  来源: 互联网

标签:node 容器 service 命令 swarm nccztsjb test docker



默认情况下,在swarm中部署一个service,会根据镜像中启动命令来启动容器,如果要进行测试也好,修改、调试也好,如何指定service中容器的启动命令?

 

方法非常的简单。

 

1、比如先查看某个镜像的启动命令

 

以alpine镜像为例

 

docker inspect d4deec2c521c

 

 

Entrypoint和CMD如下:

            "Cmd": [
                "/bin/sh"
            ],
            "Image": "sha256:b747534ae29d08c0c84cc4326caf04e873c6d02bb67cd9c7644be2b4fa8d2f31",
            "Volumes": null,
            "WorkingDir": "",
            "Entrypoint": null,
            "OnBuild": null,
            "Labels": null

 

 

启动命令就是:/bin/sh

 

2、修改容器的默认启动命令

 

如果要部署这个service,但是容器不用这个命令,怎么搞?

 

docker service create \
  --name test-commd \
  172.20.58.152/baseimage/alpine:latest \
  ping www.baidu.com

 

 

没错,就是在镜像的后面,加上启动的命令即可。

 

查看service的启动命令

 

[root@nccztsjb-node-01 ~]# docker service ps test-commd
ID             NAME           IMAGE                                   NODE               DESIRED STATE   CURRENT STATE            ERROR     PORTS
rz463fgm9hk8   test-commd.1   172.20.58.152/baseimage/alpine:latest   nccztsjb-node-02   Running         Running 21 seconds ago  
 

 

查看service的日志,就是在使用PING命令

 

[root@nccztsjb-node-01 ~]# docker service logs test-commd
test-commd.1.rz463fgm9hk8@nccztsjb-node-02    | PING www.baidu.com (110.242.68.4): 56 data bytes
[root@nccztsjb-node-01 ~]# 

 

 

查看具体的容器的启动命令

 

[root@nccztsjb-node-02 ~]# docker ps --no-trunc

CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES

6e284d195cb1d34d3ad977ffdfafc7745f7b3d8619378a0cc20340434ce25554 172.20.58.152/baseimage/alpine:latest@sha256:e7d88de73db3d3fd9b2d63aa7f447a10fd0220b7cbf39803c803f2af9ba256b3 "ping www.baidu.com" 3 minutes ago Up 3 minutes test-commd.1.rz463fgm9hk808a1aj2v6i9lo

986a920894ed32769b109e5047fe15ea2775086962931fd94e45241ee30ba115 172.20.58.152/middleware/nginx:1.21.4@sha256:2f14a471f2c2819a3faf88b72f56a0372ff5af4cb42ec45aab00c03ca5c9989f "/docker-entrypoint.sh nginx -g 'daemon off;'" 44 hours ago Up 44 hours 80/tcp nginx.4.9kvrbnvumz04soafmtx2c7p54

[root@nccztsjb-node-02 ~]#

 

 

OK。

 

这样,就完成了对service中容器的运行命令的指定!

标签:node,容器,service,命令,swarm,nccztsjb,test,docker
来源: https://www.cnblogs.com/chuanzhang053/p/16695796.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有