昨天我为 prestashop、phpmyadmin 和 mysql 创建了 1 个网络和 3 个容器。
我通过运行 docker save
命令保存了它们,今天当我回来时,我的容器仍在指定的端口上工作,但是我无法通过运行 docker ps -a
看到容器。此外,prestashop 文件夹不再可写。
如何查看我的 docker 容器在哪里运行?
docker ps -a
:
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
docker network ls
:
NETWORK ID NAME DRIVER SCOPE
e03870bf5fec bridge bridge local
63cfaacfbb2e chrono bridge local
c23a0b85edb9 host host local
1ae1b68b12c0 none null local
docker images
:
REPOSITORY TAG IMAGE ID CREATED SIZE
<none> <none> 5fab8d650e42 4 hours ago 657MB
prestadock_apache latest 740c640530f3 2 days ago 657MB
phpmyadmin latest f7fd780fedba 7 days ago 469MB
php 7.4-apache 899ab23566b7 7 days ago 414MB
mysql latest c8562eaf9d81 10 days ago 546MB
docker-compose.yml
:
version: "3.8"
services:
db:
image: mysql:latest
command: --default-authentication-plugin=mysql_native_password
container_name: chrono_db
restart: always
volumes:
- db-data:/var/lib/mysql
environment:
- MYSQL_ROOT_PASSWORD=root
networks:
- dev
phpmyadmin:
image: phpmyadmin:latest
container_name: chrono_phpmyadmin
restart: always
depends_on:
- db
ports:
- 8081:80
environment:
PMA_HOST: db
networks:
- dev
apache:
build: php
container_name: chrono_prestashop
ports:
- 8080:80
volumes:
- ./php/vhosts:/etc/apache2/sites-enabled
- ./:/var/www/html
restart: always
networks:
- dev
networks:
dev:
volumes:
db-data:
Dockerfile
:
FROM php:7.4-apache
RUN echo "ServerName localhost" >> /etc/apache2/apache2.conf
RUN apt-get update \
&& apt-get install -y --no-install-recommends locales apt-utils git libicu-dev g++ libpng-dev libxml2-dev libzip-dev libonig-dev libxslt-dev;
RUN echo "en_US.UTF8 UTF8" > /etc/locale.gen && \
echo "fr_FR.UTF-8 UTF-8" >> /etc/locale.gen && \
locale-gen
RUN curl -sSk https://getcomposer.org/installer | php -- --disable-tls && \
mv composer.phar /usr/local/bin/composer
RUN docker-php-ext-configure intl
RUN docker-php-ext-install pdo pdo_mysql gd opcache intl zip calendar dom mbstring zip gd xsl
RUN pecl install apcu && docker-php-ext-enable apcu
RUN a2enmod rewrite && service apache2 restart
RUN chown -R www-data:w
这是运行 docker-compose up -d
后的错误:
ERROR: for chrono_prestashop Cannot start service apache: driver failed programming external connectivity on endpoint chronopiles_prestashop (11458be3c31e5f1107770b98ec5e56c645ac9e68b742fd4eb41ad965bd641e9c): Error starting userland proxy: listen tcp 0.0.0.0:8080: bind: address already in use