我正在尝试将源文件挂载到位于/ var/dynamo的docker中的目录.我希望能够在本地运行Docker并在我工作时使用我的本地文件.
使用run命令:
docker run -v $(pwd):/var/dynamo -d -t -p 8001:8001 --name dynamo davesrepo/dynamo
Run Code Online (Sandbox Code Playgroud)
用我的 Dockerfile
FROM python:3.5.1
WORKDIR /var/dynamo
RUN pip3 install tornado
EXPOSE 8001
Run Code Online (Sandbox Code Playgroud)
但是,当我bash到容器docker exec -it dynamo /bin/bash并运行ls -la目录是空的!
root@7d3d338891aa:/var/dynamo# ls -la
total 4
drwxr-xr-x 2 root root 40 Dec 29 03:37 .
drwxr-xr-x 24 root root 4096 Dec 29 03:36 ..
Run Code Online (Sandbox Code Playgroud)
运行docker inspect dynamo显示正确安装的目录
[
{
"Id": "7d3d338891aae32e001a3bb31d6be17802d238526830396472b011599a97212a",
"Created": "2015-12-29T03:37:01.416445958Z",
"Path": "python3",
"Args": [],
"State": {
"Status": "running",
"Running": …Run Code Online (Sandbox Code Playgroud) 我想我不明白.首先,我创建了docker-machine:
$ docker-machine create -d virtualbox dev
$ eval $(docker-machine env dev)
Run Code Online (Sandbox Code Playgroud)
然后我写了Dockerfile和docker-compose.yml:
FROM python:2.7
ENV PYTHONUNBUFFERED 1
RUN mkdir /code
WORKDIR /code
ADD requirements.txt /code/
RUN pip install -r requirements.txt
ADD . /code/
version: '2'
services:
db:
image: postgres
web:
build: .
restart: always
command: python manage.py runserver 0.0.0.0:8000
volumes:
- .:/code
ports:
- "8000:8000"
links:
- db
Run Code Online (Sandbox Code Playgroud)
最后,我构建并启动了图像:
$ docker-compose build --no-cache
$ docker-compose start
Run Code Online (Sandbox Code Playgroud)
我检查了我的虚拟机的ip
$ docker-machine ip dev
Run Code Online (Sandbox Code Playgroud)
并在我的浏览器中成功打开了该网站.但是当我对代码进行一些更改时 - 没有任何反应.所以我登录到"dev"机器:
$ docker-machine ssh dev
Run Code Online (Sandbox Code Playgroud)
我没找到我的代码!所以我登录了docker"web"图片: …
我不确定是否有明显的东西逃脱了我或者是否只是不可能但是我正在尝试用来自docker hub的图像组成一个完整的应用程序堆栈.
其中一个是mysql,它支持通过卷添加自定义配置文件,并从已安装的目录运行.sql文件.
但是,我在运行docker-compose的机器上有这些文件,而不是在主机上.在运行entrypoint/cmd之前,是否无法指定本地计算机中的文件复制到容器中?我是否真的必须为这种情况创建一切的本地图像?
我正在尝试docker-compose up在我的终端中执行命令。首先,我导航到找到 docker-compose.yaml 的文件目录。然后我写命令。服务器在端口 80 上。我收到以下错误:
Traceback (most recent call last):
File "site-packages/docker/api/client.py", line 205, in _retrieve_server_version
File "site-packages/docker/api/daemon.py", line 181, in version
File "site-packages/docker/utils/decorators.py", line 46, in inner
File "site-packages/docker/api/client.py", line 228, in _get
File "site-packages/requests/sessions.py", line 543, in get
File "site-packages/requests/sessions.py", line 530, in request
File "site-packages/requests/sessions.py", line 643, in send
File "site-packages/requests/adapters.py", line 498, in send
requests.exceptions.ConnectionError: ('Connection aborted.', ConnectionRefusedError(61, 'Connection refused'))
During handling of the above exception, another exception occurred:
Traceback (most recent call …Run Code Online (Sandbox Code Playgroud) 我已经构建了一个docker-compose.yml文件,但是默认情况下我看到 Docker 桌面应用程序按父文件夹名称命名容器组。
我需要将该名称docker更改为另一个名称
谢谢
我正在尝试在 docker 容器内容器化 Svelte js 应用程序,并且在日志中收到此错误,抱怨不同平台中的 esbuild,我使用的是 M1 mac,我尝试esbuild-wasm按照日志建议进行安装,并尝试npm i esbuild-linux-arm64作为一个步骤在 docker 文件中并尝试RUN npm install yarn按照日志建议使用纱线,因为它有内置的东西处理平台,但它不起作用我的 docker 文件
FROM node:16.10.0
WORKDIR /my-website
COPY package.json .
RUN npm install
COPY . .
EXPOSE 3000
CMD ["npm", "start"]
Run Code Online (Sandbox Code Playgroud)
错误是
You installed esbuild on another platform than the one you're currently using.
This won't work because esbuild is written with native code and needs to
install a platform-specific binary executable.
Specifically the "esbuild-darwin-arm64" package is present but …Run Code Online (Sandbox Code Playgroud) 我有一个requirements.txt包含的文件,其中包括:
Flask-RQ==0.2
-e git+https://token:x-oauth-basic@github.com/user/repo.git#egg=repo
Run Code Online (Sandbox Code Playgroud)
当我尝试使用Docker Compose构建一个Docker容器时,它会下载这两个软件包并安装它们,但是当我这样做时pip freeze,没有-e包的标志.当我尝试运行应用程序时,看起来好像没有安装此软件包.这是构建的相关输出:
Collecting Flask-RQ==0.2 (from -r requirements.txt (line 3))
Downloading Flask-RQ-0.2.tar.gz
Obtaining repo from git+https://token:x-oauth-basic@github.com/user/repo.git#egg=repo (from -r requirements.txt (line 4))
Cloning https://token:x-oauth-basic@github.com/user/repo.git to ./src/repo
Run Code Online (Sandbox Code Playgroud)
这是我的Dockerfile:
FROM python:2.7
RUN mkdir -p /usr/src/app
WORKDIR /usr/src/app
COPY requirements.txt /usr/src/app/
RUN pip install -r requirements.txt
COPY . /usr/src/app
Run Code Online (Sandbox Code Playgroud)
我发现这种情况非常奇怪,并希望得到任何帮助.
我正在使用docker-compose来构建一个完整的开发堆栈.
该应用程序需要一个mysql服务器才能工作.
mysql服务器是docker-compose设置的外部容器:
mysql:
image: mysql:5.6
volumes:
- /data/mysql:/var/lib/mysql
- ./docker/mysql.d:/etc/mysql/conf.d
ports:
- "3306:3306"
environment:
MYSQL_ROOT_PASSWORD: password
Run Code Online (Sandbox Code Playgroud)
该应用程序有自己的docker-compose.yml并引用mysql容器:
my-application:
build: . # the Dockerfile resides in the current folder
ports:
- "9180:80"
- "9543:443"
external_links:
- mysql_mysql_1:mysql
environment:
DOCKER_ENVIRONMENT: dev
DB_NAME: local_db
DB_PASS: password
DB_USER: root
DB_HOST: # how to set the mysql's IP address?
Run Code Online (Sandbox Code Playgroud)
我无法在docker-compose中传递它们,因为它是动态的.
我知道应用程序知道mysql IP地址,因为我设置了某些变量:
application-container$ env|grep ADDR
MYSQL_PORT_3306_TCP_ADDR=172.17.0.241
Run Code Online (Sandbox Code Playgroud)
然而,这不是我的要求DB_HOST.
我可以以某种方式映射变量DB_HOST或以不同方式设置它吗?
第一次尝试设置docker,我遇到卷问题.我非常有信心.yml中的间距和格式在这一点上是正确的.
我尝试过版本3,3.1,3.2,3.3和3.4.所有都收到相同的错误消息(如下)
services.volumes不支持的配置选项:'db2_prod'
version: '3'
services:
liberty:
image: liberty:${liberty_tag}
ports:
- "${liberty_ip}:9080:9080"
- "${liberty_ip}:9443:9443"
restart: always
apache:
image: webapp:${apache_tag}
ports:
- "${apache_ip}:80:80"
- "${apache_ip}:443:443"
restart: always
db2:
image: db2:${db2_tag}
ports:
- "${db2_ip}:50000:50000"
stdin_open: true
tty: true
restart: always
volumes:
- db2_prod:/database/stagg3
volumes:
db2_prod:
Run Code Online (Sandbox Code Playgroud) 我使用 mac 10.11.6 El capan 并安装了 docker 工具箱,我正在尝试使用 docker compose 构建选项,但我抛出了一些错误,如下所示,
kj$ docker-compose -f docker-compose-dev.yml build
Traceback (most recent call last):
File "docker-compose", line 6, in <module>
File "compose/cli/main.py", line 71, in main
File "compose/cli/main.py", line 124, in perform_command
File "compose/cli/command.py", line 41, in project_from_options
File "compose/cli/command.py", line 113, in get_project
File "compose/config/config.py", line 380, in load
File "compose/config/config.py", line 380, in <listcomp>
File "compose/config/config.py", line 513, in process_config_file
File "compose/config/config.py", line 221, in get_service_dicts
File "distutils/version.py", line 46, in …Run Code Online (Sandbox Code Playgroud) docker-compose ×10
docker ×8
api ×1
containers ×1
dockerfile ×1
ip ×1
linux ×1
npm ×1
php ×1
pip ×1
python ×1
server ×1
svelte ×1