ubuntu Dockerfile ENTRYPOINT未更新[重复]

qv7cva1a  于 2023-05-06  发布在  Docker
关注(0)|答案(1)|浏览(146)

此问题已在此处有答案

Docker entrypoint and cmd together(4个答案)
2天前关闭。
我有一个为项目创建的dockerfile。我尝试将ENTRYPOINT更新到我的shell脚本,但在docker inspect读出中没有看到它。我的docker-entrypoint.sh权限拒绝运行容器。
Dockerfile:

FROM mongo

USER root

# Workdir configs directory
WORKDIR /usr/src/configs

#Install app dependencies
COPY replicaSet.js .
COPY setup.sh .

ENTRYPOINT ["setup.sh"]

CMD ["chmod", "+x", "/usr/src/configs/setup.sh"]

检查Dockerfile:

[
    {
        "Id": "a896c11d39bb5ccb9bb8ae735d079333dff57586771db66016a171ce5a341c17",
        "Created": "2023-05-03T05:05:46.630331205Z",
        "Path": "docker-entrypoint.sh",
        "Args": [
            "./setup.sh"
        ],
        "State": {
            "Status": "exited",
            "Running": false,
            "Paused": false,
            "Restarting": false,
            "OOMKilled": false,
            "Dead": false,
            "Pid": 0,
            "ExitCode": 1,
            "Error": "",
            "StartedAt": "2023-05-03T05:46:30.900825475Z",
            "FinishedAt": "2023-05-03T05:46:30.905663297Z"
        },
        "Image": "sha256:ec48db36861be8f2b158c84f7ef1143daec5baeff930551a73241618c92d2dfb",
        "ResolvConfPath": "/var/lib/docker/containers/a896c11d39bb5ccb9bb8ae735d079333dff57586771db66016a171ce5a341c17/resolv.conf",
        "HostnamePath": "/var/lib/docker/containers/a896c11d39bb5ccb9bb8ae735d079333dff57586771db66016a171ce5a341c17/hostname",
        "HostsPath": "/var/lib/docker/containers/a896c11d39bb5ccb9bb8ae735d079333dff57586771db66016a171ce5a341c17/hosts",
        "LogPath": "/var/lib/docker/containers/a896c11d39bb5ccb9bb8ae735d079333dff57586771db66016a171ce5a341c17/a896c11d39bb5ccb9bb8ae735d079333dff57586771db66016a171ce5a341c17-json.log",
        "Name": "/mongodb-replicaset-setup-rs-1",
        "RestartCount": 0,
        "Driver": "overlay2",
        "Platform": "linux",
        "MountLabel": "",
        "ProcessLabel": "",
        "AppArmorProfile": "unconfined",
        "ExecIDs": null,
        "HostConfig": {
            "Binds": null,
            "ContainerIDFile": "",
            "LogConfig": {
                "Type": "json-file",
                "Config": {}
            },
            "NetworkMode": "mongodb-replicaset_default",
            "PortBindings": {},
            "RestartPolicy": {
                "Name": "",
                "MaximumRetryCount": 0
            },
            "AutoRemove": false,
            "VolumeDriver": "",
            "VolumesFrom": null,
            "ConsoleSize": [
                0,
                0
            ],
            "CapAdd": null,
            "CapDrop": null,
            "CgroupnsMode": "private",
            "Dns": null,
            "DnsOptions": null,
            "DnsSearch": null,
            "ExtraHosts": [],
            "GroupAdd": null,
            "IpcMode": "private",
            "Cgroup": "",
            "Links": null,
            "OomScoreAdj": 0,
            "PidMode": "",
            "Privileged": true,
            "PublishAllPorts": false,
            "ReadonlyRootfs": false,
            "SecurityOpt": [
                "label=disable"
            ],
            "UTSMode": "",
            "UsernsMode": "",
            "ShmSize": 67108864,
            "Runtime": "runc",
            "Isolation": "",
            "CpuShares": 0,
            "Memory": 0,
            "NanoCpus": 0,
            "CgroupParent": "",
            "BlkioWeight": 0,
            "BlkioWeightDevice": null,
            "BlkioDeviceReadBps": null,
            "BlkioDeviceWriteBps": null,
            "BlkioDeviceReadIOps": null,
            "BlkioDeviceWriteIOps": null,
            "CpuPeriod": 0,
            "CpuQuota": 0,
            "CpuRealtimePeriod": 0,
            "CpuRealtimeRuntime": 0,
            "CpusetCpus": "",
            "CpusetMems": "",
            "Devices": null,
            "DeviceCgroupRules": null,
            "DeviceRequests": null,
            "MemoryReservation": 0,
            "MemorySwap": 0,
            "MemorySwappiness": null,
            "OomKillDisable": null,
            "PidsLimit": null,
            "Ulimits": null,
            "CpuCount": 0,
            "CpuPercent": 0,
            "IOMaximumIOps": 0,
            "IOMaximumBandwidth": 0,
            "MaskedPaths": null,
            "ReadonlyPaths": null
        },
        "GraphDriver": {
            "Data": {
                "LowerDir": "/var/lib/docker/overlay2/70b3475a4cc76a2d1822f09a92a427c47fa05fa0c64972c4ae9134a99144fb8f-init/diff:/var/lib/docker/overlay2/0hura9zb1opfbz0ywufb7ldzp/diff:/var/lib/docker/overlay2/q9xvbb1e526fwtt6r30hhs041/diff:/var/lib/docker/overlay2/8zo1we67nu46t339qnun3mc71/diff:/var/lib/docker/overlay2/0802bd95dbac4074a8a2843f5ea49e6716f5053f510b5e1eb77e97d3495a624e/diff:/var/lib/docker/overlay2/af3b5d8ed6c4aaaa0b354261beaffa2d6edf1c725fbf0986390e29577caa4e9a/diff:/var/lib/docker/overlay2/2ad381abb51fe65991e14743f2ed493c38ba8d6e7ed0512da3c676ec032046bd/diff:/var/lib/docker/overlay2/00246652544cd52a2ca2f41d5a3cdfb50cd17f149582f8269cd71122a4290e62/diff:/var/lib/docker/overlay2/7044908f6d8c63a7f8895e690de634f8b088c75828d3473e163dd6e85010df70/diff:/var/lib/docker/overlay2/0addd2098325176e0afc76a642a0df618f4355dadd6b0705639a1a9a904e4e06/diff:/var/lib/docker/overlay2/fcf09aa57445af3381ff16cf6ca2abf259cc68551991c93db6697edb6048cabc/diff:/var/lib/docker/overlay2/4ae8c0e77777f60e01110e5a98725ed35b55168618049c208342ac1797f83544/diff:/var/lib/docker/overlay2/f5e70e4b39ab7163ee32caa321036ebd4120941c1f086b49b65c657301ae51e5/diff:/var/lib/docker/overlay2/4a90e226192587afee40cd739628dbdb58244fee42e4f0bd5f6b07da7f034ef8/diff:/var/lib/docker/overlay2/c03ffd83ec01d85177f4a55c5e71f28873791e366e5811cd2ff4db457ab25e66/diff:/var/lib/docker/overlay2/194814cd38f5eeb7920492d0ee92af32fbcf5e958ba6f0518e8c5087e5fc5ea6/diff:/var/lib/docker/overlay2/cdd051866e0233e59e4eebe64785e85d544642a356dcd7d5ba013ea328ad3f7d/diff",
                "MergedDir": "/var/lib/docker/overlay2/70b3475a4cc76a2d1822f09a92a427c47fa05fa0c64972c4ae9134a99144fb8f/merged",
                "UpperDir": "/var/lib/docker/overlay2/70b3475a4cc76a2d1822f09a92a427c47fa05fa0c64972c4ae9134a99144fb8f/diff",
                "WorkDir": "/var/lib/docker/overlay2/70b3475a4cc76a2d1822f09a92a427c47fa05fa0c64972c4ae9134a99144fb8f/work"
            },
            "Name": "overlay2"
        },
        "Mounts": [
            {
                "Type": "volume",
                "Name": "7c237b0f7c2c311df57fc64e6ede94c29f04b4f8e8ddc6e0de0e28efcdc24d0f",
                "Source": "/var/lib/docker/volumes/7c237b0f7c2c311df57fc64e6ede94c29f04b4f8e8ddc6e0de0e28efcdc24d0f/_data",
                "Destination": "/data/configdb",
                "Driver": "local",
                "Mode": "",
                "RW": true,
                "Propagation": ""
            },
            {
                "Type": "volume",
                "Name": "2496a72f0938d1d2a06238e454367705c03f064dd4d2050e27044240efa76cea",
                "Source": "/var/lib/docker/volumes/2496a72f0938d1d2a06238e454367705c03f064dd4d2050e27044240efa76cea/_data",
                "Destination": "/data/db",
                "Driver": "local",
                "Mode": "",
                "RW": true,
                "Propagation": ""
            }
        ],
        "Config": {
            "Hostname": "a896c11d39bb",
            "Domainname": "",
            "User": "",
            "AttachStdin": false,
            "AttachStdout": true,
            "AttachStderr": true,
            "ExposedPorts": {
                "27017/tcp": {}
            },
            "Tty": false,
            "OpenStdin": false,
            "StdinOnce": false,
            "Env": [
                "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
                "GOSU_VERSION=1.10",
                "JSYAML_VERSION=3.10.0",
                "GPG_KEYS=9DA31620334BD75D9DCB49F368818C72E52529D4",
                "MONGO_PACKAGE=mongodb-org",
                "MONGO_REPO=repo.mongodb.org",
                "MONGO_MAJOR=4.0",
                "MONGO_VERSION=4.0.4"
            ],
            "Cmd": [
                "./setup.sh"
            ],
            "Image": "setup-rs",
            "Volumes": {
                "/data/configdb": {},
                "/data/db": {}
            },
            "WorkingDir": "/usr/src/configs",
            "Entrypoint": [
                "docker-entrypoint.sh"
            ],
            "OnBuild": null,
            "Labels": {
                "com.docker.compose.config-hash": "8a7ff940de051c01d18fd0a9337a8ec596012e76206572255b954146b4241c89",
                "com.docker.compose.container-number": "1",
                "com.docker.compose.depends_on": "mongo-rs0-1:service_started:false",
                "com.docker.compose.image": "sha256:ec48db36861be8f2b158c84f7ef1143daec5baeff930551a73241618c92d2dfb",
                "com.docker.compose.oneoff": "False",
                "com.docker.compose.project": "mongodb-replicaset",
                "com.docker.compose.project.config_files": "/home/homework3/Desktop/mongodb-replicaset/docker-compose.yml",
                "com.docker.compose.project.working_dir": "/home/homework3/Desktop/mongodb-replicaset",
                "com.docker.compose.service": "setup-rs",
                "com.docker.compose.version": "2.17.3"
            }
        },
        "NetworkSettings": {
            "Bridge": "",
            "SandboxID": "32215446c46ff78cd1c818ad492fc160f38c6097567ff2a461cef543899991a5",
            "HairpinMode": false,
            "LinkLocalIPv6Address": "",
            "LinkLocalIPv6PrefixLen": 0,
            "Ports": {},
            "SandboxKey": "/var/run/docker/netns/32215446c46f",
            "SecondaryIPAddresses": null,
            "SecondaryIPv6Addresses": null,
            "EndpointID": "",
            "Gateway": "",
            "GlobalIPv6Address": "",
            "GlobalIPv6PrefixLen": 0,
            "IPAddress": "",
            "IPPrefixLen": 0,
            "IPv6Gateway": "",
            "MacAddress": "",
            "Networks": {
                "mongodb-replicaset_default": {
                    "IPAMConfig": null,
                    "Links": null,
                    "Aliases": [
                        "mongodb-replicaset-setup-rs-1",
                        "setup-rs",
                        "a896c11d39bb"
                    ],
                    "NetworkID": "fbe443b473ab9e3777d00ccf9bc4707d6356a3d0abc56991d72c6e6c026a16f1",
                    "EndpointID": "",
                    "Gateway": "",
                    "IPAddress": "",
                    "IPPrefixLen": 0,
                    "IPv6Gateway": "",
                    "GlobalIPv6Address": "",
                    "GlobalIPv6PrefixLen": 0,
                    "MacAddress": "",
                    "DriverOpts": null
                }
            }
        }
    }
]

我希望容器在不拒绝权限的情况下运行。我曾尝试用我的脚本运行"chmod +x",但没有成功,似乎ENTRYPOINT对大多数用户都能正常工作

hwamh0ep

hwamh0ep1#

如果同时有ENTRYPOINT和CMD语句,则在运行时将它们组合为一个命令,并将CMD作为ENTRYPOINT的参数。
在您的情况下,命令变为

setup.sh chmod +x /usr/src/configs/setup.sh

这可能不是你想要的
您可以在RUN语句中更改脚本的权限,因此它是在构建时完成的,如下所示

FROM mongo

USER root

# Workdir configs directory
WORKDIR /usr/src/configs

#Install app dependencies
COPY replicaSet.js .
COPY setup.sh .
RUN chmod +x setup.sh

ENTRYPOINT ["setup.sh"]

相关问题