teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

2

ログを解析して、質問内容を変更

2018/03/12 02:27

投稿

HideakiOshima
HideakiOshima

スコア16

title CHANGED
@@ -1,1 +1,1 @@
1
- SQLファイルのCreate文のsyntax errorが解決でき
1
+ docker stackをdeployしようとした時に、file not foundにってしまう
body CHANGED
@@ -1,34 +1,67 @@
1
1
  ### 前提・実現したいこと
2
2
 
3
3
  現在、k8sを使ってTodoアプリを作成してみようと思い、DBの作成を行っています。
4
+ その時に、mysql.cnfにserver-idを設定する用のshell scriptを書き、server-idを一意に決めたい。
4
5
 
5
6
  ### 発生している問題・エラーメッセージ
6
- テーブルを作成するSQLをSQLファイルに記述したのですが、syntax errorが表示されてうまくdbを作成できない状況となっています。
7
+ ~~テーブルを作成するSQLをSQLファイルに記述したのですが、syntax errorが表示されてうまくdbを作成できない状況となっています。~~
7
8
 
9
+ もとはSQLのエラーだと思っていたのですが、改めてdocker serviceのログを参照してみると、add-server-id.shが見るからないと表示されていることがわかりました。
10
+ ということは、設定したpathが変になっている??と思うのですが、それがどこが変なのかわからないのでご教授いただきたいです。
11
+
8
- ```sql
12
+ ```bash
9
- Incorrect syntax near 'UNSIGNED'.'
10
- Incorrect syntax near '188'. Expecting '(', or SELECT.
11
- Incorrect syntax near ''TODO''. Expecting '(', or SELECT.
13
+ $ docker exec -it manager docker service logs kmiosg06sg2w [11:05:44]
12
- Incorrect syntax near '`'. Expecting '(', or SELECT.
14
+ todo_mysql_master.1.iet43na698h4@9d9629c9e6dc | !! exec: "add-server-id.sh": executable file not found in $PATH
15
+ todo_mysql_master.1.vacgbuxmhpd8@9d9629c9e6dc | !! exec: "add-server-id.sh": executable file not found in $PATH
16
+ todo_mysql_master.1.ms5joug8lki4@9d9629c9e6dc | !! exec: "add-server-id.sh": executable file not found in $PATH
17
+ todo_mysql_master.1.ifedudbqy6rb@9d9629c9e6dc | !! exec: "add-server-id.sh": executable file not found in $PATH
13
18
  ```
14
19
 
15
20
  ### 該当のソースコード
21
+ dockerfileはしたの様に記述しています。
22
+ ```Dockerfile
23
+ FROM mysql:5.7
16
24
 
17
- ```sql
18
- CREATE TABLE todo (
25
+ RUN apt-get update
26
+ RUN apt-get install -y wget telnet
27
+ RUN wget https://github.com/progrium/entrykit/releases/download/v0.4.0/entrykit_0.4.0_linux_x86_64.tgz
19
- id INT(10) UNSIGNED AUTO_INCREMENT NOT NULL COMMENT 'ID',
28
+ RUN tar -xvzf entrykit_0.4.0_linux_x86_64.tgz
29
+ RUN rm entrykit_0.4.0_linux_x86_64.tgz
20
- title VARCHAR(188) NOT NULL COMMENT 'タイトル',
30
+ RUN mv entrykit /usr/local/bin/
31
+ RUN entrykit --symlink
32
+
33
+ ADD add-server-id.sh /usr/local/bin/
21
- content TEXT COMMENT '内容',
34
+ ADD init-data.sh /usr/local/bin/
22
- `status` ENUM ('TODO', 'PROGRESS', 'DONE') COMMENT 'ステータス',
35
+ ADD etc/mysql/mysql.conf.d/mysqld.cnf /etc/mysql/mysql.conf.d/
23
- created DATETIME NOT NULL COMMENT '作成時間',
36
+ ADD prepare.sh /docker-entrypoint-initdb.d
24
- updated DATETIME NOT NULL COMMENT '更新時間',
25
- PRIMARY KEY (`id`)
37
+ ADD sql /sql
38
+
39
+ ENTRYPOINT [ \
40
+ "prehook", \
41
+ "add-server-id.sh", \
42
+ "--", \
26
- ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
43
+ "docker-entrypoint.sh" \
44
+ ]
45
+
46
+ CMD ["mysqld"]
27
47
  ```
28
48
 
49
+ 全体のディレクトリ構成は以下のようになっています。
50
+ ```
51
+ swarm-sample
29
- ### 試したこと
52
+ |-etc/
53
+ | └mysql/
30
- カラム名などにバッククォートを付けてみるといったことも試しましたが、改善されずといった幹事でした。
54
+ | └mysql.conf.d/
55
+ | └mysqld.cnf
56
+ |-stack/
57
+ | └todo-mysql.yml
58
+ |-Dockerfile
59
+ |-add-server-id.sh
60
+ |-init-data.sh
61
+ |-prepare.sh
62
+ ```
31
63
 
64
+
32
65
  ### 補足情報(FW/ツールのバージョンなど)
33
66
 
34
67
  使用したmysqlのdocker image→ mysql:5.7

1

タグを追加

2018/03/12 02:27

投稿

HideakiOshima
HideakiOshima

スコア16

title CHANGED
File without changes
body CHANGED
File without changes