标签: docker-container

在 Docker 容器启动时启动 bash 脚本不起作用

在过去的几个小时里,我一直尝试startup.sh在 docker 容器启动上启动我的脚本,但由于某种原因它不起作用。

我的 Dockerfile 用于创建图像:

FROM armv7/armhf-ubuntu:latest
MAINTAINER Mohammed Noureldin <m.n.e@hotmail.com>
RUN apt update && apt upgrade -y && apt install -y mumble-server
ADD scripts/startup.sh /startup.sh
Run Code Online (Sandbox Code Playgroud)

我的启动脚本:

#!/bin/bash
/etc/init.d/mumble-server start
Run Code Online (Sandbox Code Playgroud)

这里没有任何反应,虽然我尝试在脚本中创建一个文件,但也没有任何反应!

我尝试直接从命令行执行脚本,但它不起作用我不知道为什么:

docker运行命令:

docker run --name murmur -itd --restart always --network bridge -p 64738:64738 -v /var/lib/mumble-server/ -v /etc/ mnoureldin/murmur:latest /bin/bash -c "bash /startup.sh;/bin/bash"
Run Code Online (Sandbox Code Playgroud)

这是我尝试手动执行脚本时得到的结果:

43b9d8dd4116bc605537c7af35ab186ca165ea6e957fab5908d39b2f085edf41
mohammed@server01:~/Dockerfiles/Mumble $ docker attach murmur
root@43b9d8dd4116:/# bash
.dockerenv  boot/       etc/        lib/        mnt/        proc/       run/        srv/        sys/        usr/
bin/        dev/        home/       media/      opt/ …
Run Code Online (Sandbox Code Playgroud)

bash docker dockerfile docker-container

2
推荐指数
1
解决办法
1684
查看次数

Docker 连接拒绝挂起 Django

当我运行我的容器时,它只是挂在下一行,如果我写

\n\n
\n

卷曲http://0.0.0.0:8000/

\n
\n\n

我明白了

\n\n
\n

无法连接到 0.0.0.0 端口 8000:连接拒绝

\n
\n\n

这是我的 dockerfile

\n\n
FROM python:3.6.1\n\n# Set the working directory to /app\nWORKDIR /app\n\n# Copy the current directory contents into the container at /app\nADD . /app\n\nRUN pip3 install -r requirements.txt\n\nCMD ["python3", "dockerizing/manage.py", "runserver", "0.0.0.0:8000"]\n
Run Code Online (Sandbox Code Playgroud)\n\n

我还尝试通过 docker-compose.yml 文件执行此操作,但再次没有任何反应,我\xc2\xb4ve 搜索了很多,并且 Haven\xc2\xb4t 找到了解决方案,这是 docker-compose.yml

\n\n
version: "3"\nservices:\n  web:\n    image: app1\n    deploy:\n      replicas: 5\n      resources:\n        limits:\n          cpus: "0.1"\n          memory: 50M\n      restart_policy:\n        condition: on-failure\n    ports:\n      - "8000:8000"\n    networks:\n      - webnet\nnetworks:\n …
Run Code Online (Sandbox Code Playgroud)

django docker dockerfile docker-compose docker-container

2
推荐指数
1
解决办法
4886
查看次数

在 MacOS 系统启动时启动 Docker 容器

我正在运行 Docker 17.09.0-ce 并且有一个名为

new-mysql

容器 ID c7fee123ec9f

每次我想使用该容器时都必须手动启动该容器,这很痛苦,所以我想知道是否有办法在系统启动时执行此操作。

我不想杀死这个容器,因为它工作得很好,我只是想调整设置以在系统启动时(或 Docker 启动时)自动启动。

mysql macos docker docker-container macos-high-sierra

2
推荐指数
1
解决办法
2284
查看次数

Dockerfile 无法执行 CMD 命令(docker for windows)

无法在 dockerfile 中的 docker for windows 上执行 CMD 命令。

我想使用 CMD 运行几个命令,但是,甚至无法运行单个命令。

我已经尝试了以下方法,但没有任何效果......

1.

CMD "sqlcmd -S database -i C:\db\db_scripts\upgradescript.sql -U sa -P mypassword"
Run Code Online (Sandbox Code Playgroud)

2.

RUN ["powershell", "-NoProfile", "-Command", "c:\db\db_scripts\script.ps1"]
Run Code Online (Sandbox Code Playgroud)

3.

CMD ["cmd", "sqlcmd", "-S", "database", "-i", "C:\db\db_scripts\upgradescript.sql", "-U", "sa", "-P", "mypassword"]
Run Code Online (Sandbox Code Playgroud)

4.

ARG arg1=database
ARG arg2=C:\db\db_scripts\upgradescript.sql
ARG arg3=sa
ARG arg4=mypassword!

RUN ["cmd", "-NoProfile", "-Command", "sqlcmd -S $env:arg1 -i $env:arg2 -U $env:arg3 -P $env:arg4"]
Run Code Online (Sandbox Code Playgroud)

5.

RUN powershell.exe  c:\db\db_scripts\script.ps1
Run Code Online (Sandbox Code Playgroud)

6.

ENTRYPOINT ["powershell", "-NoProfile", "-Command", "sqlcmd"]
CMD ["-S database -i C:\db\db_scripts\upgradescript.sql -U …
Run Code Online (Sandbox Code Playgroud)

containers docker dockerfile docker-container docker-for-windows

2
推荐指数
1
解决办法
3971
查看次数

如何禁用所有 docker 容器 JSON 日志?

我知道,有logrotate的明确的搬运工集装箱原木用这个命令:truncate -s 0 /var/lib/docker/containers/*/*-json.log

但是有什么方法可以禁用所有 docker 容器 json-logs 吗?

logrotate docker docker-container

2
推荐指数
1
解决办法
2291
查看次数

如何列出docker容器内的所有目录和文件?

以下是我的 dockerfile:

FROM python:3.6.5-windowsservercore
COPY . /app
WORKDIR /app
RUN pip download -r requirements.txt -d packages
Run Code Online (Sandbox Code Playgroud)

要获取图像中的文件列表,我尝试了以下两个选项,但出现错误:

encountered an error during CreateProcess: failure in a Windows system call: 
The system cannot find the file specified. (0x2) extra info: 
{"CommandLine":"dir","WorkingDirectory":"C:\\app"......
Run Code Online (Sandbox Code Playgroud)
  1. docker run -it <container_id> dir
  2. 修改 dockerfile 并在 dockerfile - 末尾添加 CMD CMD ["dir"],然后运行docker run <container_id> dir

如何列出docker中的所有目录和文件?

docker dockerfile docker-image docker-container docker-for-windows

2
推荐指数
3
解决办法
1万
查看次数

Docker 错误 - 5432:绑定:地址已在使用中

我曾经能够使用 5432:5432 端口映射运行 docker-compose,但最近收到此错误:

Error starting userland proxy: listen tcp 0.0.0.0:5432: bind: address already in use
Run Code Online (Sandbox Code Playgroud)

我已经浏览了所有与此问题相关的较旧帖子,但尚未能够解决此问题。

在过去的一周里,我一直被这个错误逼疯,试图弄清楚如何停止正在运行的任何进程,但无济于事。

我试过跑步

lsof -i tcp:5432
Run Code Online (Sandbox Code Playgroud)

它不返回任何结果(只要我的 pgadmin/server 没有运行)

我还看到其他帖子提到跑步

netstat -anp tcp | grep 5432
Run Code Online (Sandbox Code Playgroud)

确实返回两行:

tcp4       0      0  *.5432                 *.*                    LISTEN     
tcp6       0      0  *.5432                 *.*                    LISTEN 
Run Code Online (Sandbox Code Playgroud)

但我不完全确定如何处理该输出?

postgresql macos docker docker-compose docker-container

2
推荐指数
1
解决办法
3714
查看次数

/bin/bash 给我 docker 容器内的错误

我一直在努力应对sh,但出现了很多问题。我需要 Docker 容器内的 /bin/bash 。但是当我运行这个命令时,它给了我错误OCI runtime exec failed: exec failed: container_linux.go:349: starting container process caused "exec: \"/bin/bash\": stat /bin/bash: no such file or directory": unknown。我想我需要将 bin/bash 放入容器内。但不知道怎么办?

终端命令:sudo docker exec -it 35f4fb7c0b0d /bin/bash

终端输出:OCI runtime exec failed: exec failed: container_linux.go:349: starting container process caused "exec: \"/bin/bash\": stat /bin/bash: no such file or directory": unknown

提前致谢。

linux bash containers docker docker-container

2
推荐指数
1
解决办法
5066
查看次数

Vue Vite无法连接docker容器

您好,我已经安装了新的应用程序 vue3 typescript + vite ,这是我在构建图像并旋转容器后遇到的问题。我无法访问 localhost:3000,浏览器只会显示

连接被重置

 docker run --rm -it  -v %cd%/:/app/src -p 3000:3000 myvitets

Run Code Online (Sandbox Code Playgroud)

Dockerfile

FROM node:14-buster-slim


# make the 'app' folder the current working directory
WORKDIR /app

# copy both 'package.json' and 'package-lock.json' (if available)
COPY package*.json ./

RUN npm install


# copy project files and folders to the current working directory (i.e. 'app' folder)
COPY . .

EXPOSE 3000

CMD [ "npm", "run", "dev"]
Run Code Online (Sandbox Code Playgroud)

我还添加了 .dockerignore

 node_modules/
.git 
.gitignore
Run Code Online (Sandbox Code Playgroud)

有人可以帮助我如何将我的应用程序运行到容器中吗?

先感谢您。

docker vue.js dockerfile docker-container

2
推荐指数
1
解决办法
6165
查看次数

如何从容器中调用主机的docker守护进程?

这正是我所需要的。我已经有一个项目正在启动一组特定的Docker映像,并且可以正常运行。

但是我想创建另一个图像,特别是要从头开始构建包含所有依赖项的该项目。因此,问题是,在构建时,要创建docker映像,我们需要从构建容器访问在主机上运行的docker守护进程。

有什么办法吗?

docker docker-swarm docker-container

1
推荐指数
1
解决办法
924
查看次数