在过去的几个小时里,我一直尝试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) 当我运行我的容器时,它只是挂在下一行,如果我写
\n\n\n \n\n\n
我明白了
\n\n\n\n\n无法连接到 0.0.0.0 端口 8000:连接拒绝
\n
这是我的 dockerfile
\n\nFROM 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"]\nRun Code Online (Sandbox Code Playgroud)\n\n我还尝试通过 docker-compose.yml 文件执行此操作,但再次没有任何反应,我\xc2\xb4ve 搜索了很多,并且 Haven\xc2\xb4t 找到了解决方案,这是 docker-compose.yml
\n\nversion: "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) 我正在运行 Docker 17.09.0-ce 并且有一个名为
new-mysql
容器 ID c7fee123ec9f
每次我想使用该容器时都必须手动启动该容器,这很痛苦,所以我想知道是否有办法在系统启动时执行此操作。
我不想杀死这个容器,因为它工作得很好,我只是想调整设置以在系统启动时(或 Docker 启动时)自动启动。
无法在 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
我知道,有logrotate的和明确的搬运工集装箱原木用这个命令:truncate -s 0 /var/lib/docker/containers/*/*-json.log。
但是有什么方法可以禁用所有 docker 容器 json-logs 吗?
以下是我的 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)
docker run -it <container_id> dirCMD ["dir"],然后运行docker run <container_id> dir如何列出docker中的所有目录和文件?
docker dockerfile docker-image docker-container docker-for-windows
我曾经能够使用 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)
但我不完全确定如何处理该输出?
我一直在努力应对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
提前致谢。
您好,我已经安装了新的应用程序 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映像,并且可以正常运行。
但是我想创建另一个图像,特别是要从头开始构建包含所有依赖项的该项目。因此,问题是,在构建时,要创建docker映像,我们需要从构建容器访问在主机上运行的docker守护进程。
有什么办法吗?
docker ×10
docker-container ×10
dockerfile ×5
bash ×2
containers ×2
macos ×2
django ×1
docker-image ×1
docker-swarm ×1
linux ×1
logrotate ×1
mysql ×1
postgresql ×1
vue.js ×1