Mar*_*erg 5 docker docker-compose
我想在已本地存储图像的 Linux 服务器上使用 docker-compose 运行应用程序。
\n\n该应用程序由两项服务组成。在服务器上运行docker images表明图像确实存在:
REPOSITORY TAG IMAGE ID CREATED SIZE\napp_nginx latest b8362b71f3da About an hour ago 107MB\napp_dash_alert_app latest 432f03c01dc6 About an hour ago 1.67GB\nRun Code Online (Sandbox Code Playgroud)\n\n这是我的docker-compose.yml:
version: \'3\'\n\nservices:\n\n dash_alert_app:\n container_name: dash_alert_app\n restart: always\n build: ./dash_alert_app\n ports:\n - "8000:8000"\n command: gunicorn -w 1 -b :8000 dash_histogram_daily_counts:server\n\n\n nginx:\n container_name: nginx\n restart: always\n build: ./nginx\n ports:\n - "80:80"\n depends_on:\n - dash_alert_app\nRun Code Online (Sandbox Code Playgroud)\n\n当我运行时,docker-compose pull它似乎能够看到图像,并将它们拉入:
$ sudo docker-compose pull\nPulling dash_alert_app ... done\nPulling nginx ... done\nRun Code Online (Sandbox Code Playgroud)\n\n但是,当我尝试启动容器时,我收到以下消息,表明仍需要构建映像:
\n\n$ docker-compose up -d --no-build\nERROR: Service \'dash_alert_app\' needs to be built, but --no-build was passed.\nRun Code Online (Sandbox Code Playgroud)\n\n请注意,我已配置 docker 来存储图像/mnt/data/docker- 这是我的/etc/docker/daemon.json文件:
{\n "graph": "/mnt/data/docker",\n "storage-driver": "overlay",\n "bip": "192.168.0.1/24"\n}\nRun Code Online (Sandbox Code Playgroud)\n\n这是我的文件夹结构:
\n\n.\n\xe2\x94\x82 docker-compose.yml \n\xe2\x94\x94\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80dash_alert_app\n\xe2\x94\x94\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80nginx\nRun Code Online (Sandbox Code Playgroud)\n\n为什么 docker-compose 不使用本地存在的镜像?
\n您似乎忘记指定密钥image。另外,您是否真的需要再次构建图像,docker-compose build或者现有的图像是否足够?如果是,请尝试以下操作:
version: '3'
services:
dash_alert_app:
image: app_dash_alert_app
container_name: dash_alert_app
restart: always
ports:
- "8000:8000"
command: gunicorn -w 1 -b :8000 dash_histogram_daily_counts:server
nginx:
image: app_nginx
container_name: nginx
restart: always
ports:
- "80:80"
depends_on:
- dash_alert_app
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6802 次 |
| 最近记录: |