我正在尝试从docker图像创建一个docker容器,但它没有启动,我也没有看到错误。首先我尝试了这个Docker文件:
FROM php:7.0-apache
MAINTAINER Tony Lea <tony.lea@thecontrolgroup.com>
EXPOSE 80
RUN docker-php-ext-install pdo pdo_mysql mysqli
RUN apt-get update && \
apt-get install -qqy \
libmcrypt-dev \
git-core \
zlib1g-dev && \
docker-php-ext-install \
bcmath \
mbstring \
mcrypt \
zip
WORKDIR /var/www/html
ENV COMPOSER_HOME=/var/www/html
RUN curl -sS https://getcomposer.org/installer | php && \
mv composer.phar /usr/local/bin/composer
在docker compose中我使用了这段代码:
version: '3'
services:
db:
image: mysql
restart: always
environment:
MYSQL_ROOT_PASSWORD: password
volumes:
- ./mydata:/var/lib/postgresql/data
ports:
- "52000:3306"
web:
build: .
volumes:
- .:/var/www/html
ports:
- "3000:80"
我第一次运行它,它工作,我停止容器并删除它们,当我尝试docker-compose up我没有看到任何错误和mysql容器正在运行但是ubuntu容器已创建,但它没有运行当我尝试开始时,我没有看到错误。
我尝试使用docker run ubuntu创建一个容器:18.04它正在创建一个容器,但它没有启动我不知道刚刚发生了什么。当我运行docker ps -a时,我看到了:
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
eae0840f282a ubuntu:18.04 "/bin/bash" 16 seconds ago Exited (0) 14 seconds ago priceless_haibt
4689e8787905 ubuntu:18.04 "/bin/bash" 25 seconds ago Exited (0) 23 seconds ago sad_williams
1284e06b22a8 mysql "docker-entrypoint.s…" 12 minutes ago Up 3 minutes 0.0.0.0:52000->3306/tcp kyolab_db_1
7db2c0c987cd kyolab_web "/bin/bash" 12 minutes ago Exited (0) 2 minutes ago kyolab_web_1
我试过这个docker run -d -p 3000:80 --name = nilay ubuntu但没有运气
我该怎么办?
答案 0 :(得分:1)
您的图片运行/bin/bash
,然后退出。您需要在docker run
中指定要运行的命令,或向CMD
添加Dockerfile
默认命令。
如果您想运行交互式shell,则无法使用-d
,而是需要-it
。