- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试使用初始化脚本启动 docker MySQL 容器。我的 Dockerfile 如下所示:
FROM node:11
WORKDIR /usr/src/app
COPY ./init.sql /docker-entrypoint-initdb.d/
COPY . .
RUN npm install
ENV PORT=8000
EXPOSE ${PORT}
CMD [ "npm", "start" ]
我的 init.sql 文件位于两个位置,主目录以及 docker-entrypoint-initdb.d/文件夹。 init.sql 文件只有 create table 和 insert 语句。我按以下顺序运行 Docker 命令:
//start network
docker network create --driver bridge mysql-net
//launch docker mysql container with init script to create tables & data
docker run -d --name mysql-server --network mysql-net -p 3306:3306 -e "MYSQL_ROOT_PASSWORD=rootpassword" -e "MYSQL_DATABASE=yelplikeapp" -e "MYSQL_USER=yelplikeapp" -e "MYSQL_PASSWORD=hunter2" -v "/c/Users/marti/Documents/projectFolder:/docker-entrypoint-initdb.d" mysql:5
启动 mysql-server 容器最初可以工作,但几秒钟后,当我运行“docker ps -a”时,我可以看到它一启动就退出:
为什么我的 mysql-server 容器退出?我一直在尝试进入容器并查看数据库以验证所有表是否已成功创建。但我在这样做时遇到了困难,并认为这就是问题的根源。
为了透明起见,我将发布完整的 init.sql 文件:当我检查 mysql-server 的日志时,有一条错误消息:第 1 行出现错误 1050 (42S01):表“用户”已存在
drop database yelplikeapp;
create database yelplikeapp;
use yelplikeapp;
SET FOREIGN_KEY_CHECKS = 0;
DROP TABLE IF EXISTS users;
DROP TABLE IF EXISTS businesses;
DROP TABLE IF EXISTS photos;
DROP TABLE IF EXISTS reviews;
SET FOREIGN_KEY_CHECKS = 1;
CREATE TABLE users (
id MEDIUMINT NOT NULL AUTO_INCREMENT,
username VARCHAR(255) NOT NULL,
PRIMARY KEY (id)
);
INSERT INTO users(id, username) VALUES
( NULL, 'brungoTungis' ),
( NULL, 'kramer' ),
( NULL, 'elaine');
CREATE TABLE businesses (
id MEDIUMINT NOT NULL AUTO_INCREMENT,
ownerid MEDIUMINT NOT NULL,
name VARCHAR(255) NOT NULL,
address VARCHAR(255) NOT NULL,
city VARCHAR(255) NOT NULL,
state VARCHAR(255) NOT NULL,
zip VARCHAR(255) NOT NULL,
phone VARCHAR(255) NOT NULL,
category VARCHAR(255) NOT NULL,
subcategory VARCHAR(255) NOT NULL,
website VARCHAR(255),
email VARCHAR(255),
PRIMARY KEY (id),
FOREIGN KEY (ownerid) REFERENCES users(id) ON DELETE CASCADE
);
INSERT INTO businesses(id, ownerid, name, address, city, state, zip, phone, category, subcategory, website, email) VALUES ( NULL, 1, 'taco bell', '1157th ave nw', 'corvallis', 'or', '98023', '423-232-1313', 'fastfood', 'mexican', 'www.tacobell.com', 'tacobell@gmail.gov' ), ( NULL, 1, 'kfc', '1158th ave nw', 'seattle', 'wa', '98223', '423-232-993', 'fastfood', 'chicken', NULL, NULL );
CREATE TABLE photos (
id MEDIUMINT NOT NULL AUTO_INCREMENT,
userid MEDIUMINT NOT NULL,
businessid MEDIUMINT NOT NULL,
caption VARCHAR(255),
PRIMARY KEY (id),
FOREIGN KEY (userid) REFERENCES users(id),
FOREIGN KEY (businessid) REFERENCES businesses(id) ON DELETE CASCADE
);
INSERT INTO photos(id, userid, businessid, caption) VALUES
( NULL, 2, 1, 'coolcaption' ),
( NULL, 3, 2, NULL ),
( NULL, 3, 1, 'badcaption');
CREATE TABLE reviews (
id MEDIUMINT NOT NULL AUTO_INCREMENT,
userid MEDIUMINT NOT NULL,
businessid MEDIUMINT NOT NULL,
dollars MEDIUMINT NOT NULL,
stars MEDIUMINT NOT NULL,
review VARCHAR(255),
PRIMARY KEY (id),
FOREIGN KEY (userid) REFERENCES users(id),
FOREIGN KEY (businessid) REFERENCES businesses(id)
);
INSERT INTO reviews(id, userid, businessid, dollars, stars, review) VALUES
( NULL, 2, 1, 2, 3, 'mycoolreview' ), ( NULL, 1, 2, 2, 3, NULL );
最佳答案
解决了这个问题,我从 dockerfile 中删除了复制语句,还删除了 init.sql 文件。我的项目文件中有两个,一个在我的 homeRepo/init.sql 和 homeRepo/docker-entrypoint-initdb 中.d/
我删除了 homeRepo/init.sql 文件,重新运行了我的 docker mysql-server 创建,并且它起作用了
关于mysql - docker mysql容器启动后退出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56012181/
我目前正在为 Cocoa/Objective-C 项目编写一个脚本来完全自动化我的编译-运行-调试过程。 我的最后一行代码是: lldb -f Build/MyApp.app -o "run" 这实际
我有一个带有登录屏幕的脚本,如果按下取消按钮,我想完全退出该应用程序。我尝试了 3 种方法: 系统退出() QApplication.quit() QCoreApplication.instance(
我有一个 Flash 应用程序,可以重定向到另一个页面。我很乐意捕获任何其他窗口卸载事件(单击链接/提交表单)并警告用户他们将丢失 Flash 应用程序中的进度。 但是,我找不到任何方法来判断 URL
我正在尝试在 Ubuntu 上用 Python 编写一个简单的程序,它将在播放视频完成后关闭/退出/退出 VLC Player。 能否请您指导我应该在我的程序中添加什么以获得我需要的结果。 impor
我在 Lynda.com 上学习 PHP 2 视频时遇到了一个问题,因为讲师似乎忽略了告诉我们他在视频中执行的步骤之一。我在这里上传了相关视频http://www.youtube.com/watch?
某天在群内有同学问到,在python下我用input或者raw_input都得输入完后回车才能获取到输入的值,那如何实现任意键退出暂停等功能呢,我当时也没有多想,因为接触python时间也不算长,主
我按顺序调用了几个函数(我无法编辑),但有些函数会重定向用户,所以我永远不会进入下一个函数。 我正在调用一个第三方函数,它调用了我能够阻止的 wp_redirect(),但是下一行是 exit;我不知
终止/退出主函数的 D 方式是什么? import std.stdio; import core.thread; void main() { int i; while (i <= 5)
我正在申请写作。用户可以打开应用程序、写一些文本、保存他们的工作等。 我试图做到这一点,以便点击 window close按钮将提示用户 (a) 保存他们的工作(如有必要)或 (b) 退出。 我正在尝
我正在通过在 repl 中检查别人的代码来玩弄它。 它不断调用 System/exit,这导致我的 repl 崩溃。这真是令人气愤。 在我有权访问的所有代码中,我都模拟了调用。 但它也会调用一些我没有
我正在使用 subprocess执行mimic的模块程序(指定 here )。下面的代码成功地读取了一些文本并写入了一个 mp3 文件。 import subprocess proc = subpro
退出 .then 范围后数组上的值被清除 在下面的代码中tableValues1.length 给我正确的长度,直到它位于每个循环内当它退出时,作用域数组长度为零。 请谁能帮我解决这个问题 - 谢谢
我正在尝试为 s3cmd 编写一个 docker 镜像。当我通过 docker-compose 运行从 Dockerfile 构建的图像时,容器在 docker compose run 命令之前退出。
这个问题已经有答案了: 已关闭12 年前。 Possible Duplicate: Quitting an application - is that frowned upon? 我编写了一个 And
我遇到 Selenium WebDriver 仅执行一次后退出 for 循环的问题。据推测,这是获取内容和在加载页面之前启动循环的问题。是否有可能让 webdriver 等待页面加载? List al
#include #include #include #include "Player.h" using namespace std; void PlayerMenu(); int main()
class Test{ public static void main(String args[]) { Patron list[] = new PatronData(
我正在做一些作业,遇到了这个问题。 Write a program that reads several lines of text and prints a table indicating the
我正在用 C 创建一个简单的 Linux 命令 shell。我无法理解我的代码在哪里出现问题。 “commands”是我希望作为一个父进程的子进程同时执行的 Linux 命令字符串列表。当所有执行完成
我的控制台应用程序有点问题。应用程序应该从用户那里获取数字并将它们添加到列表中,但是如果输入是“c”,它应该关闭。我不知道如何在不使用 Scanner.nextLine() 挂起应用程序并退出循环的情
我是一名优秀的程序员,十分优秀!