{"id":5083,"date":"2015-02-24T22:36:03","date_gmt":"2015-02-24T13:36:03","guid":{"rendered":"http:\/\/www.vincentina.net\/?p=5083"},"modified":"2021-12-22T22:51:57","modified_gmt":"2021-12-22T13:51:57","slug":"redmine%e3%81%aedockerfile%e3%82%92%e4%bd%9c%e6%88%90%e3%81%97%e3%82%88%e3%81%86%e3%80%822%e5%9b%9e%e7%9b%ae","status":"publish","type":"post","link":"https:\/\/www.vincentina.net\/?p=5083","title":{"rendered":"Redmine\u306eDockerfile\u3092\u4f5c\u6210\u3057\u3088\u3046\u30022\u56de\u76ee"},"content":{"rendered":"<p>Redmine\u306e\u30d7\u30e9\u30b0\u30a4\u30f3\u3092\u4f5c\u3063\u3066\u307f\u3088\u3046\u304b\u306a\u301c\u3063\u3068\u3001\u601d\u3044\u7acb\u3063\u305f\u304c\u5409\u65e5\u3067\u65e9\u901f\u3068\u308a\u304b\u304b\u308b\u3053\u3068\u306b\u3057\u307e\u3059\u3002\u30b5\u30af\u30c3\u3068\u958b\u767a\u74b0\u5883\u3092\u4f5c\u308a\u305f\u3044\u3068\u3044\u3048\u3070\u3001\u30c9\u30ab\u30c9\u30ab<strong><span style=\"font-size: 14pt;\">Docker\u3060\u306d<\/span><\/strong>\u3002<br \/>\n\u4ed6\u4eba\u306e\u4f5c\u3063\u305f\u30b3\u30f3\u30c6\u30ca\u306f\u3042\u307e\u308a\u4f7f\u3044\u305f\u304f\u306a\u3044\u3067\u3054\u3056\u308b\u306a\u306e\u3067\u3001Redmine\u3068Docker\u3068\u3044\u3046\u30ad\u30fc\u30ef\u30fc\u30c9\u3067\u30b0\u30b0\u308b\u4e8b\u306b\u3057\u307e\u3057\u305f\u3002<\/p>\n<p class=\"r\">1\u679a\u76ee\u306b<a href=\"http:\/\/www.vincentina.net\/?p=4380\">redmine\u306eDockerfile\u304c\u3084\u3063\u3068\u3067\u304d\u305f<\/a>\u3063\u3066\u306e\u304c\u3042\u308b\u3058\u3083\u306a\u3044\u304b\uff01\u3068\u3001\u3057\u304b\u3057\u2026\u4f55\u3060\u304b\u3069\u3053\u304b\u3067\u898b\u305f\u3053\u3068\u3042\u308b\u306a\u3041\u3068\u601d\u3063\u305f\u3089<\/p>\n<p class=\"r\"><strong><span style=\"font-size: 12pt;\">\u3053\u306e\u30d6\u30ed\u30b0\u3067\u3057\u305fw<\/span><\/strong><\/p>\n<p class=\"r\">\u904e\u53bb\u306e\u65e5\u8a18\u3092\u8aad\u3093\u3067\u307f\u308b\u3068\u3001\u3089\u3055\u3055\u3079\u3055\u3093\u304b\u3089\u306e\u3054\u6307\u6458\u3069\u304a\u308a\u3067set.conf\u3067\u306f\u306a\u304f\u3001\u305d\u3053\u306b\u306fsupervisor.conf\u304c\u5165\u308a\u307e\u3059\u3002<br \/>\n\u305d\u3053\u3060\u3051\u4fee\u6b63\u3057\u3066\u3001\u3068\u308a\u3042\u3048\u305a\u52d5\u304b\u3057\u3066\u307f\u3088\u3046\u3068\u601d\u3044\u307e\u3059\u3002<br \/>\n\u52d5\u304b\u306a\u3051\u308c\u3070\u305d\u308c\u306f\u305d\u308c\u3067\u4fee\u6b63\u3059\u308c\u3070\u826f\u3044\u306e\u3060\u3002<\/p>\n<p class=\"r\">\u4fee\u6b63\u3057\u305f\u30bd\u30fc\u30b9\u306f\u6700\u5f8c\u306b\u307e\u3068\u3081\u3066\u8f09\u305b\u308b\u3068\u3057\u3066\u3001\u4ee5\u524d\u3068\u540c\u3058\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u306e\u69cb\u6210\u306b\u3057\u3066\u307f\u307e\u3057\u305f\u3002<\/p>\n<pre class=\"brush: bash; title: ; notranslate\" title=\"\">&#x5B;takeken@localhost ~]$ mkdir -p docker-redmine\/conf\r\n&#x5B;takeken@localhost ~]$ cd docker-redmine\r\n&#x5B;takeken@localhost docker-redmine]$ vim conf\/Dockerfile\r\n&#x5B;takeken@localhost docker-redmine]$ vim conf\/configuration.yml\r\n&#x5B;takeken@localhost docker-redmine]$ vim conf\/database.yml\r\n&#x5B;takeken@localhost docker-redmine]$ vim conf\/passenger.conf\r\n&#x5B;takeken@localhost docker-redmine]$ vim conf\/supervisor.conf\r\n&#x5B;takeken@localhost docker-redmine]$ pwd\r\n\/home\/takeken\/docker-redmine\r\n\r\n&#x5B;takeken@localhost docker-redmine]$ ls -l conf\/\r\n\u5408\u8a08 20\r\n-rw-r--r-- 1 takeken wheel 3531\u00a0 2\u6708 24 19:43 2015 Dockerfile\r\n-rw-r--r-- 1 takeken wheel\u00a0 207\u00a0 2\u6708 24 19:44 2015 configuration.yml\r\n-rw-r--r-- 1 takeken wheel\u00a0 125\u00a0 2\u6708 24 19:44 2015 database.yml\r\n-rw-r--r-- 1 takeken wheel\u00a0 268\u00a0 2\u6708 24 19:45 2015 passenger.conf\r\n-rw-r--r-- 1 takeken wheel\u00a0 619\u00a0 2\u6708 24 19:46 2015 supervisor.conf<\/pre>\n<p class=\"r\">\u809d\u5fc3\u306eDocker\u672c\u4f53\u304c\u5165\u3063\u3066\u3044\u306a\u304b\u3063\u305f\u306e\u3067\u3001Epel\u304b\u3089\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3057\u307e\u3059\u3002<\/p>\n<pre class=\"brush: bash; title: ; notranslate\" title=\"\">&#x5B;takeken@localhost docker-redmine]$ sudo yum --enablerepo=epel install -y docker-io\r\n\r\n&#x5B;takeken@localhost docker-redmine]$ docker -v\r\nDocker version 1.4.1, build 5bc2ff8\/1.4.1\r\n\r\n&#x5B;takeken@localhost docker-redmine]$ sudo service docker start\r\nStarting cgconfig service:\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 &#x5B;\u00a0 OK\u00a0 ]\r\nStarting docker:\u00a0\u00a0 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 &#x5B;\u00a0 OK\u00a0 ]<\/pre>\n<p class=\"r\">\u307e\u305a\u306f\u30d0\u30fc\u30b8\u30e7\u30f31.0\u3063\u3066\u3053\u3068\u3067\u30d3\u30eb\u30c9\u3057\u3066\u307f\u307e\u3059\u3002<\/p>\n<pre class=\"brush: bash; title: ; notranslate\" title=\"\">&#x5B;takeken@localhost docker-redmine]$ sudo docker build -t takeken\/redmine:1.0 conf\/<\/pre>\n<p class=\"r\"><strong><span style=\"font-size: 12pt;\">\u306a\u3093\u3068<\/span><\/strong>\u3001\u306a\u3093\u3068\u3068\u8a00\u3046\u8a00\u3044\u65b9\u306f\u304a\u304b\u3057\u3044\u3067\u3059\u306dw<br \/>\n\u7121\u4e8b\u306b\u5b8c\u8d70\u3057\u307e\u3057\u305f\u3002<\/p>\n<pre class=\"brush: bash; title: ; notranslate\" title=\"\">&#x5B;takeken@localhost docker-redmine]$ sudo docker images\r\nREPOSITORY\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 TAG\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 IMAGE ID\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 CREATED\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 VIRTUAL SIZE\r\ntakeken\/redmine\u00a0\u00a0\u00a0\u00a0 1.0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 38385ccff674\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 2 minutes ago\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 1.777 GB\r\ncentos\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 centos6\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 a30bc9f3097e\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 2 weeks ago\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 215.8 MB<\/pre>\n<p class=\"r\">\u65e9\u901f\u7acb\u3061\u4e0a\u3052\u3066\u898b\u307e\u3057\u305f\u3068\u3053\u308d\u3001Web\u30b5\u30fc\u30d0\u306b\u30a2\u30af\u30bb\u30b9\u3067\u304d\u306a\u3044\u3088\u3046\u3067\u3059\u3002<\/p>\n<pre class=\"brush: bash; title: ; notranslate\" title=\"\">&#x5B;takeken@localhost ~]$ sudo docker run -p 9080:80 -p 22 -p 9001 --name redmine1 takeken\/redmine:1.0 \/usr\/bin\/supervisord<\/pre>\n<p class=\"r\">HTTP\u306b\u30a2\u30af\u30bb\u30b9\u3067\u304d\u306a\u304f\u3066\u3082SSH\u306f\u52d5\u3044\u3066\u3044\u308b\u306e\u3067\u30a2\u30af\u30bb\u30b9\u3057\u3066\u8abf\u67fb\u3057\u3066\u307f\u307e\u3059\u3002<br \/>\n\u8abf\u3079\u3066\u307f\u305f\u7d50\u679c\u306f\u904e\u53bb\u306e\u81ea\u5206\u3082\u66f8\u3044\u3066\u3044\u308b\u3088\u3046\u306bPassenger\u306e\u30d0\u30fc\u30b8\u30e7\u30f3\u306e\u9055\u3044\u306b\u3088\u308b\u3082\u306e\u3067\u3057\u305f\u3002<\/p>\n<pre class=\"brush: bash; title: ; notranslate\" title=\"\">takeken@468ed6ba3966 ~]$ sudo service httpd restart\r\nStopping httpd:\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 &#x5B;FAILED]\r\nStarting httpd: httpd: Syntax error on line 221 of \/etc\/httpd\/conf\/httpd.conf: Syntax error on line 1 of \/etc\/httpd\/conf.d\/passenger.conf: Cannot load \/usr\/local\/lib\/ruby\/gems\/2.0.0\/gems\/passenger-4.0.48\/buildout\/apache2\/mod_passenger.so into server: \/usr\/local\/lib\/ruby\/gems\/2.0.0\/gems\/passenger-4.0.48\/buildout\/apache2\/mod_passenger.so: cannot open shared object file: No such file or directory\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 &#x5B;FAILED]<\/pre>\n<p class=\"r\">\u30d1\u30c3\u30bb\u30f3\u30b8\u30e3\u30fc\u3092\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3057\u305f\u6700\u5f8c\u306b\u51fa\u308bhttpd.conf\u306b\u8ffd\u8a18\u3059\u3079\u304d\u9805\u76ee\u3067\u3059\u304c\u3001\u3042\u308c\u306f\u5b9f\u306f\u30b3\u30de\u30f3\u30c9\u3067\u5f8c\u304b\u3089\u3067\u3082\u78ba\u8a8d\u3059\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002<\/p>\n<p class=\"r\">\u4e0b\u306b\u8868\u793a\u3055\u308c\u3066\u3044\u308b\u30d0\u30fc\u30b8\u30e7\u30f3\u304c\u4eca\u56de\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3055\u308c\u305f\u3082\u306e\u3067\u3059\u3002\u3069\u3046\u3084\u3089\u5fae\u5999\u306b\u30de\u30a4\u30ca\u30fc\u30c1\u30a7\u30f3\u30b8\u304c\u3042\u3063\u305f\u3088\u3046\u3067\u3059\u306d\u3002<\/p>\n<pre class=\"brush: bash; title: ; notranslate\" title=\"\">&#x5B;takeken@468ed6ba3966 ~]$ passenger-install-apache2-module --snippet\r\nLoadModule passenger_module \/usr\/local\/lib\/ruby\/gems\/2.0.0\/gems\/passenger-4.0.59\/buildout\/apache2\/mod_passenger.so\r\n&lt;IfModule mod_passenger.c&gt;\r\n\u00a0 PassengerRoot \/usr\/local\/lib\/ruby\/gems\/2.0.0\/gems\/passenger-4.0.59\r\n\u00a0 PassengerDefaultRuby \/usr\/local\/bin\/ruby\r\n&lt;\/IfModule&gt;<\/pre>\n<p class=\"r\">conf\u30d5\u30a1\u30a4\u30eb\u306f\u6b63\u3057\u304f\u306a\u3063\u305f\u306e\u3067\u3001\u3068\u3082\u304b\u304f\u8d77\u52d5\u306f\u5b8c\u4e86\u3057\u307e\u3057\u305f\u3002<\/p>\n<pre class=\"brush: bash; title: ; notranslate\" title=\"\">&#x5B;takeken@468ed6ba3966 ~]$ sudo service httpd restart\r\nStopping httpd:\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 &#x5B;FAILED]\r\nStarting httpd: httpd: Could not reliably determine the server's fully qualified domain name, using 172.17.0.46 for ServerName\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 &#x5B;\u00a0 OK\u00a0 ]<\/pre>\n<p class=\"r\"><a href=\"http:\/\/www.vincentina.net\/wp-content\/uploads\/2015\/02\/rd001.png\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/www.vincentina.net\/wp-content\/uploads\/2015\/02\/rd001-300x177.png\" alt=\"rd001\" width=\"300\" height=\"177\" class=\"alignnone size-medium wp-image-5084\" srcset=\"https:\/\/www.vincentina.net\/wp-content\/uploads\/2015\/02\/rd001-300x177.png 300w, https:\/\/www.vincentina.net\/wp-content\/uploads\/2015\/02\/rd001.png 428w\" sizes=\"auto, (max-width: 300px) 85vw, 300px\" \/><\/a><\/p>\n<p class=\"r\"><strong><span style=\"font-size: 12pt;\">\u3068\u3053\u308d\u304c\uff01Mysql\u306edb\u304clatin\u3067\u4f5c\u3089\u308c\u3066\u3044\u308b\u306e\u3067\u65e5\u672c\u8a9e\u304c\u5316\u3051\u308b\u3088\u301c\uff01<\/span><\/strong><\/p>\n<p class=\"r\">\u3061\u3083\u3093\u3068\u30b3\u30e1\u30f3\u30c8\u6b04\u3092\u8aad\u3093\u3067\u304a\u3051\u3070\u9632\u3052\u305f\u4e8b\u306a\u3093\u3060\u306a\u3053\u308c\u304c\u3002<\/p>\n<p class=\"r\"><strong>\u3089\u3055\u3055\u3079\u3055\u3093\u3001\u3054\u3081\u3093\u306a\u3055\u3044\u3002<br \/>\n<\/strong><\/p>\n<p class=\"r\">\u3057\u3087\u307c\u30fc\u3093\u3067\u3059\u3002\u308f\u308a\u3068\u672c\u6c17\u3067\u3057\u3087\u307c\u30fc\u3093\u3067\u3059\u3002<\/p>\n<p class=\"r\">Dockerfile\u306f\u4f5c\u308a\u76f4\u3057\u3066\u3001\u3064\u3044\u3067\u306bPassenger.conf\u3082\u6cbb\u3057\u3066\u304a\u304d\u307e\u305b\u3046\u3002<br \/>\n\u3082\u30461\u5ea6\u30d3\u30eb\u30c9\u3057\u307e\u3059\u3002\u3042\u308b\u7a0b\u5ea6\u306f\u5dee\u5206\u3067\u5bfe\u5fdc\u3067\u304d\u308b\u3088\u3046\u306a\u306e\u30671\u56de\u76ee\u3088\u308a\u306f\u6642\u9593\u306f\u304b\u304b\u308a\u307e\u305b\u3093\u3002<br \/>\n\u540c\u3058\u904e\u3061\u306f\u7e70\u308a\u8fd4\u3055\u306a\u3044\uff01\u3057\u304b\u3057\u3001\u8aac\u5f97\u529b\u304c\u306d\u3048\u30fc\uff01<\/p>\n<p class=\"r\">\u30d0\u30fc\u30b8\u30e7\u30f32.0\u306b\u3057\u307e\u3059\u3002<\/p>\n<pre class=\"brush: bash; title: ; notranslate\" title=\"\">&#x5B;takeken@localhost docker-redmine]$ sudo docker build -t takeken\/redmine:2.0 conf\/&#x5B;\/bash&lt;\/pre&gt;\r\n&lt;p class=&quot;r&quot;&gt;\u51fa\u6765\u307e\u3057\u305f\u3002&lt;\/p&gt;\r\n\r\n&lt;pre class=&quot;r&quot;&gt;&#x5B;bash]&#x5B;takeken@localhost docker-redmine]$ sudo docker images\r\nREPOSITORY\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 TAG\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 IMAGE ID\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 CREATED\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 VIRTUAL SIZE\r\nredmine\/takeken\u00a0\u00a0\u00a0\u00a0 2.0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 10a5e218ebdf\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 3 minutes ago\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 1.777 GB\r\ntakeken\/redmine\u00a0\u00a0\u00a0\u00a0 1.0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 38385ccff674\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 About an hour ago\u00a0\u00a0 1.777 GB\r\ncentos\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 centos6\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 a30bc9f3097e\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 2 weeks ago\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 215.8 MB<\/pre>\n<p class=\"r\">\u4f55\u6545\u304b\u30ea\u30dd\u30b8\u30c8\u30ea\u306e\u540d\u524d\u3092\u9006\u306b\u3064\u3051\u3066\u3057\u307e\u3044\u307e\u3057\u305forz<br \/>\n\u3046\u307e\u304f\u52d5\u304f\u3067\u3057\u3087\u3046\u304b\u30fb\u30fb\u30fb\u3002\u30c9\u30ad\u30c9\u30ad\u3002<\/p>\n<pre class=\"brush: bash; title: ; notranslate\" title=\"\">&#x5B;takeken@localhost docker-redmine]$ sudo docker run -d -p 9080:80 -p 22 -p 9001 --name redmine2 redmine\/takeken:2.0 \/usr\/bin\/supervisord\r\ned66a96f862dd24f3ca1f1657fada96441fa73ca6c76ca1f35290fcbdf3cd9aa<\/pre>\n<p class=\"r\">\u3088\u30fc\u3057\uff01\u4e0a\u624b\u304f\u3044\u304d\u307e\u3057\u305f\u3002\u3089\u3055\u3055\u3079\u3055\u3093\u3042\u308a\u304c\u3068\u3046\u3002<\/p>\n<p class=\"r\"><a href=\"http:\/\/www.vincentina.net\/wp-content\/uploads\/2015\/02\/rd004.png\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/www.vincentina.net\/wp-content\/uploads\/2015\/02\/rd004-300x105.png\" alt=\"rd004\" width=\"300\" height=\"105\" class=\"alignnone size-medium wp-image-5085\" srcset=\"https:\/\/www.vincentina.net\/wp-content\/uploads\/2015\/02\/rd004-300x105.png 300w, https:\/\/www.vincentina.net\/wp-content\/uploads\/2015\/02\/rd004-624x219.png 624w, https:\/\/www.vincentina.net\/wp-content\/uploads\/2015\/02\/rd004.png 711w\" sizes=\"auto, (max-width: 300px) 85vw, 300px\" \/><\/a><\/p>\n<p class=\"r\">\u3053\u308c\u3067\u571f\u53f0\u306f\u51fa\u6765\u4e0a\u304c\u3063\u305f\u306e\u3067\u3001\u5f8c\u306f\u30d7\u30e9\u30b0\u30a4\u30f3\u3092\u4f5c\u6210\u3059\u308b\u3060\u3051\u3067\u3059\u306d\u3002<br \/>\n\u4eca\u56de\u306f\u3042\u304f\u307e\u3067\u4e0b\u6e96\u5099\u3067\u3001\u3053\u308c\u304b\u3089\u672c\u984c\u306a\u3093\u3060\u3088\u3093\u3002<\/p>\n<p class=\"r\">\u3068\u3044\u3046\u308f\u3051\u3067\u3001\u6700\u5f8c\u306b\u30bd\u30fc\u30b9\u3092\u8f09\u305b\u3066\u7d42\u4e86\u3002<\/p>\n<p class=\"r\">Dockerfile<\/p>\n<pre class=\"brush: bash; title: ; notranslate\" title=\"\">&#x5B;takeken@localhost docker-redmine]$ cat conf\/Dockerfile\r\nFROM centos:centos6\r\n\r\nMAINTAINER takeken\r\n\r\n# yum + repo\r\nRUN yum install -y wget\r\nRUN yum install -y sudo tar openssh openssh-clients openssh-server syslog httpd httpd-devel mysql-server vim python-setuptools\r\nRUN sleep 60\r\nRUN wget http:\/\/rpms.famillecollet.com\/enterprise\/remi-release-6.rpm ;\\\r\n\u00a0\u00a0\u00a0 wget http:\/\/dl.fedoraproject.org\/pub\/epel\/6\/x86_64\/epel-release-6-8.noarch.rpm ;\\\r\n\u00a0\u00a0\u00a0 wget http:\/\/pkgs.repoforge.org\/rpmforge-release\/rpmforge-release-0.5.3-1.el6.rf.x86_64.rpm ;\\\r\n\u00a0\u00a0\u00a0 rpm -ivh epel-release-6-8.noarch.rpm remi-release-6.rpm rpmforge-release-0.5.3-1.el6.rf.x86_64.rpm\r\nRUN yum --enablerepo=remi,epel groupinstall -y &quot;Development Tools&quot;\r\nRUN yum --enablerepo=remi,epel,centosplus install -y openssl-devel readline-devel zlib-devel curl-devel libyaml-devel ImageMagick ImageMagick-devel ipa-pgothic-fonts mysql-devel\r\n\r\n# ssh\r\nRUN sed -ri 's\/UsePAM yes\/#UsePAM yes\/g' \/etc\/ssh\/sshd_config\r\nRUN sed -ri 's\/#UsePAM no\/UsePAM no\/g' \/etc\/ssh\/sshd_config\r\nRUN ssh-keygen -t rsa -f \/etc\/ssh\/ssh_host_rsa_key\r\nRUN ssh-keygen -t dsa -f \/etc\/ssh\/ssh_host_dsa_key\r\nRUN useradd takeken\r\nRUN echo 'takeken:takeken' | chpasswd\r\nRUN echo 'takeken ALL=(ALL) NOPASSWD:ALL' &gt;&gt; \/etc\/sudoers.d\/takeken\r\n\r\n# ruby\r\nRUN curl http:\/\/cache.ruby-lang.org\/pub\/ruby\/2.0\/ruby-2.0.0-p451.tar.gz | tar -xz -C \/tmp\r\nRUN cd \/tmp\/ruby-2.0.0-p451 ; .\/configure --disable-install-doc &amp;&amp; make &amp;&amp; make install\r\nRUN cd \/tmp\/ruby-2.0.0-p451\/ext\/openssl ; ruby extconf.rb ; make ; make install\r\nRUN cd \/tmp\/ruby-2.0.0-p451\/ext\/zlib ; ruby extconf.rb ; make ; make install\r\nRUN gem install bundler --no-rdoc --no-ri\r\n\r\n# setting\r\n# RUN sed -ri &quot;s\/^SELINUX=enforcing\/SELINUX=disabled\/&quot; \/etc\/sysconfig\/selinux\r\n\r\n# supervisor\r\nRUN easy_install supervisor\r\nRUN echo_supervisord_conf &gt; \/etc\/supervisord.conf\r\nRUN echo '&#x5B;include]' &gt;&gt; \/etc\/supervisord.conf\r\nRUN echo 'files = supervisord.d\/*.conf' &gt;&gt; \/etc\/supervisord.conf\r\nRUN echo '&#x5B;inet_http_server]' &gt;&gt; \/etc\/supervisord.conf\r\nRUN echo 'port=0.0.0.0:9001' &gt;&gt; \/etc\/supervisord.conf\r\nRUN echo 'username=takeken' &gt;&gt; \/etc\/supervisord.conf\r\nRUN echo 'password=takeken' &gt;&gt; \/etc\/supervisord.conf\r\nRUN mkdir -p \/etc\/supervisord.d\r\nADD supervisor.conf \/etc\/supervisord.d\/supervisor.conf\r\n\r\n#mysql\r\nRUN mkdir -p \/etc\/mysql.d\r\nADD my_add.cnf \/etc\/mysql.d\/my_add.cnf\r\nRUN echo '!includedir \/etc\/mysql.d' &gt;&gt; \/etc\/my.cnf\r\nRUN service mysqld restart &amp;&amp; \\\r\n\u00a0\u00a0\u00a0 \/usr\/bin\/mysqladmin -uroot password takeken\r\nRUN service mysqld restart &amp;&amp; \\\r\n\u00a0\u00a0\u00a0 mysql -uroot -ptakeken -e &quot;CREATE DATABASE redmine; GRANT ALL PRIVILEGES ON redmine.* TO 'redmine'@'localhost' IDENTIFIED BY 'redmine'; FLUSH PRIVILEGES;&quot;\r\n\r\n# redmine\r\nRUN curl http:\/\/www.redmine.org\/releases\/redmine-2.5.0.tar.gz | tar -xz -C \/tmp\r\nRUN mv \/tmp\/redmine-2.5.0 \/var\/lib\/redmine\r\nRUN mkdir -p \/var\/lib\/redmine\/config\r\nADD configuration.yml \/var\/lib\/redmine\/config\/configuration.yml\r\nADD database.yml \/var\/lib\/redmine\/config\/database.yml\r\n\r\nRUN cd \/var\/lib\/redmine ; bundle install --without development test postgresql sqlite ;\\\r\n\u00a0\u00a0\u00a0 RAILS_ENV=production bundle exec rake db:migrate ;\\\r\n\u00a0\u00a0\u00a0 gem install passenger --no-rdoc --no-ri ;\\\r\n\u00a0\u00a0\u00a0 bundle install\r\nADD passenger.conf \/etc\/httpd\/conf.d\/passenger.conf\r\nRUN sed -ri 's_DocumentRoot.*_DocumentRoot \/var\/lib\/redmine\/public_' \/etc\/httpd\/conf\/httpd.conf\r\nRUN passenger-install-apache2-module --auto\r\nRUN service mysqld restart\r\nRUN cd \/var\/lib\/redmine ; bundle exec rake generate_session_store ; bundle exec rake generate_secret_token ; bundle install\r\nRUN sleep 60\r\nRUN \/etc\/init.d\/mysqld start &amp;&amp; cd \/var\/lib\/redmine ; bundle exec rake db:migrate RAILS_ENV=production ;\\\r\n\u00a0\u00a0\u00a0 rake tmp:cache:clear ; rake tmp:sessions:clear\r\n\r\nRUN chown -R apache:apache \/var\/lib\/redmine\r\nEXPOSE 22 80 9001\r\n\r\nCMD &#x5B;&quot;\/usr\/bin\/supervisord&quot;]<\/pre>\n<p class=\"r\">configuration.yml<\/p>\n<pre class=\"brush: bash; title: ; notranslate\" title=\"\">&#x5B;takeken@localhost docker-redmine]$ cat conf\/configuration.yml\r\nproduction:\r\n\u00a0 email_delivery:\r\n\u00a0\u00a0\u00a0 delivery_method: :smtp\r\n\u00a0\u00a0\u00a0 smtp_settings:\r\n\u00a0\u00a0\u00a0\u00a0\u00a0 address: &quot;localhost&quot;\r\n\u00a0\u00a0\u00a0\u00a0\u00a0 port: 25\r\n\u00a0\u00a0\u00a0\u00a0\u00a0 domain: 'example.com'\r\n\r\n\u00a0 rmagick_font_path: \/usr\/share\/fonts\/ipa-pgothic\/ipagp.t<\/pre>\n<p class=\"r\">database.yml<\/p>\n<pre class=\"brush: bash; title: ; notranslate\" title=\"\">&#x5B;takeken@localhost docker-redmine]$ cat conf\/database.yml\r\nproduction:\r\n\u00a0 adapter: mysql2\r\n\u00a0 database: redmine\r\n\u00a0 host: localhost\r\n\u00a0 username: redmine\r\n\u00a0 password: redmine\r\n\u00a0 encoding: utf8<\/pre>\n<p class=\"r\">passenger.conf<\/p>\n<pre class=\"brush: bash; title: ; notranslate\" title=\"\">&#x5B;takeken@localhost docker-redmine]$ cat conf\/passenger.conf\r\n\r\nLoadModule passenger_module \/usr\/local\/lib\/ruby\/gems\/2.0.0\/gems\/passenger-4.0.59\/buildout\/apache2\/mod_passenger.so\r\n&lt;IfModule mod_passenger.c&gt;\r\n\u00a0 PassengerRoot \/usr\/local\/lib\/ruby\/gems\/2.0.0\/gems\/passenger-4.0.59\r\n\u00a0 PassengerDefaultRuby \/usr\/local\/bin\/ruby\r\n&lt;\/IfModule&gt;\r\n\r\nHeader always unset &quot;X-Powered-By&quot;\r\nHeader always unset &quot;X-Rack-Cache&quot;\r\nHeader always unset &quot;X-Content-Digest&quot;\r\nHeader always unset &quot;X-Runtime&quot;\r\n\r\nPassengerMaxPoolSize 20\r\nPassengerMaxInstancesPerApp 4\r\nPassengerPoolIdleTime 3600\r\nPassengerHighPerformance on\r\nPassengerStatThrottleRate 10\r\nPassengerSpawnMethod smart\r\nRailsAppSpawnerIdleTime 86400\r\nPassengerMaxPreloaderIdleTime 0<\/pre>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p class=\"r\">supervisor.conf<\/p>\n<pre class=\"brush: bash; title: ; notranslate\" title=\"\">&#x5B;takeken@localhost docker-redmine]$ cat conf\/supervisor.conf\r\n&#x5B;supervisord]\r\nnodaemon=true\r\n\r\n&#x5B;program:sshd]\r\ncommand=\/usr\/sbin\/sshd -D\r\nautostart=true\r\nautorestart=true\r\n\r\n&#x5B;program:httpd]\r\ncommand=\/usr\/sbin\/httpd -D FOREGROUND\r\nautostart=true\r\nautorestart=true\r\n\r\n#command ha docchika ??\r\n&#x5B;program:mysqld]\r\ncommand=\/usr\/bin\/pidproxy \/var\/run\/mysqld\/mysqld.pid \/usr\/bin\/mysqld_safe --datadir=\/var\/lib\/mysql --socket=\/var\/lib\/mysql\/mysql.sock --pid-file=\/var\/run\/mysqld\/mysqld.pid --basedir=\/usr --user=mysql\r\n#command=\/usr\/bin\/mysqld_safe --datadir=\/var\/lib\/mysql --socket=\/var\/lib\/mysql\/mysql.sock --pid-file=\/var\/run\/mysqld\/mysqld.pid --basedir=\/usr --user=mysql\r\nautostart=true\r\nautorestart=true<\/pre>\n<p>&nbsp;<\/p>\n<p>my_add.conf<\/p>\n<pre class=\"brush: bash; title: ; notranslate\" title=\"\">&#x5B;takeken@localhost docker-redmine]$ cat conf\/my_add.cnf\r\n&#x5B;client]\r\ndefault-character-set=utf8\r\n&#x5B;mysql]\r\ndefault-character-set=utf8\r\n&#x5B;mysqld]\r\nskip-character-set-client-handshake\r\ncharacter-set-server = utf8\r\ncollation-server = utf8_general_ci\r\ninit-connect = SET NAMES utf8<\/pre>\n<p class=\"r\">\u3082\u3057\u5229\u7528\u3055\u308c\u308b\u5834\u5408\u306f\u30e6\u30fc\u30b6\u30fc\u540d\u3001\u30d1\u30b9\u30ef\u30fc\u30c9\u3001DB\u540d\u306a\u3069\u306a\u3069\u5909\u66f4\u304f\u3060\u3055\u3044\u307e\u305b\u307e\u305b\u3002<br \/>\nRuby\u306e\u30d0\u30fc\u30b8\u30e7\u30f3\u306a\u3093\u304b\u3082\u3067\u3059\u306d<br \/>\n\u8272\u3005\u3067\u3057\u305f\u3002<\/p>\n<p class=\"r\">\n<div class='wp_social_bookmarking_light'>        <div class=\"wsbl_twitter\"><a href=\"https:\/\/twitter.com\/share\" class=\"twitter-share-button\" data-url=\"https:\/\/www.vincentina.net\/?p=5083\" data-text=\"Redmine\u306eDockerfile\u3092\u4f5c\u6210\u3057\u3088\u3046\u30022\u56de\u76ee\" data-via=\"TakekenTw\" data-lang=\"ja\">Tweet<\/a><\/div><\/div>\n<br class='wp_social_bookmarking_light_clear' \/>\n","protected":false},"excerpt":{"rendered":"<p>Redmine\u306e\u30d7\u30e9\u30b0\u30a4\u30f3\u3092\u4f5c\u3063\u3066\u307f\u3088\u3046\u304b\u306a\u301c\u3063\u3068\u3001\u601d\u3044\u7acb\u3063\u305f\u304c\u5409\u65e5\u3067\u65e9\u901f\u3068\u308a\u304b\u304b\u308b\u3053\u3068\u306b\u3057\u307e\u3059\u3002\u30b5\u30af\u30c3\u3068\u958b\u767a\u74b0\u5883\u3092\u4f5c\u308a\u305f\u3044\u3068\u3044\u3048\u3070\u3001\u30c9\u30ab\u30c9\u30abDocker\u3060\u306d\u3002 \u4ed6\u4eba\u306e\u4f5c\u3063\u305f\u30b3\u30f3\u30c6\u30ca\u306f\u3042\u307e\u308a\u4f7f\u3044\u305f\u304f\u306a\u3044\u3067\u3054\u3056\u308b\u306a\u306e\u3067\u3001R &hellip; <a href=\"https:\/\/www.vincentina.net\/?p=5083\" class=\"more-link\"><span class=\"screen-reader-text\">&#8220;Redmine\u306eDockerfile\u3092\u4f5c\u6210\u3057\u3088\u3046\u30022\u56de\u76ee&#8221; \u306e<\/span>\u7d9a\u304d\u3092\u8aad\u3080<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[106],"tags":[],"class_list":["post-5083","post","type-post","status-publish","format-standard","hentry","category-programming"],"_links":{"self":[{"href":"https:\/\/www.vincentina.net\/index.php?rest_route=\/wp\/v2\/posts\/5083","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.vincentina.net\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.vincentina.net\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.vincentina.net\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.vincentina.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=5083"}],"version-history":[{"count":1,"href":"https:\/\/www.vincentina.net\/index.php?rest_route=\/wp\/v2\/posts\/5083\/revisions"}],"predecessor-version":[{"id":7746,"href":"https:\/\/www.vincentina.net\/index.php?rest_route=\/wp\/v2\/posts\/5083\/revisions\/7746"}],"wp:attachment":[{"href":"https:\/\/www.vincentina.net\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=5083"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.vincentina.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=5083"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.vincentina.net\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=5083"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}