本文使用 2 种方式创建 redmine 环境。
操作系统版本:CentOS 7.3
Docker 版本:17.03.0-ce
使用 docker 命令创建 redmine 环境 下载所需镜像
1 2 docker pull mysql ducker pull redmine
准备 MySQL 配置文件
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 mkdir -p /home/docker/redminecat > /home/docker/redmine/my.cnf << EOF [client] port = 3306 default-character-set = utf8 socket = /var/run/mysqld/mysqld.sock [mysql] port = 3306 default-character-set = utf8 socket = /var/run/mysqld/mysqld.sock prompt = 'MySQL[\\u@\\d]> ' no-auto-rehash [mysqld] # GENERAL # user = mysql default-storage-engine = InnoDB socket = /var/run/mysqld/mysqld.sock pid-file = /var/run/mysqld/mysqld.pid character-set-server = utf8 port = 3306 # MyISAM # key-buffer-size = 32M #myisam-recover = FORCE,BACKUP # SAFETY # max-allowed-packet = 1024M max-connect-errors = 1000000 # DATA STORAGE # basedir = /usr datadir = /var/lib/mysql # BINARY LOGGING # server_id = 1 #log-bin = /var/log/mysql/mysql-bin #expire-logs-days = 3 sync-binlog = 1 relay_log_recovery = 1 relay-log = /var/log/mysql/relay-log binlog_format = row # CACHES AND LIMITS # tmp-table-size = 32M max-heap-table-size = 32M query-cache-type = 0 query-cache-size = 0 max-connections = 500 thread-cache-size = 50 open-files-limit = 65535 table-definition-cache = 1024 table-open-cache = 2048 # INNODB # innodb-flush-method = O_DIRECT innodb-log-files-in-group = 2 innodb-log-file-size = 128M innodb-flush-log-at-trx-commit = 1 innodb-file-per-table = 1 innodb-buffer-pool-size = 1G innodb_buffer_pool_instances = 1 # Disabling symbolic-links is recommended to prevent assorted security risks symbolic-links=0 #sql-mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION" skip-name-resolve skip-external-locking init-connect = 'SET NAMES utf8' # LOGGING # log-error = /var/log/mysql/error.log log-queries-not-using-indexes = 1 #slow-query-log = 1 #slow-query-log-file = /var/log/mysql/slow.log #general-log = 1 #general_log_file = /var/log/mysql/general.log #long_query_time = 3 log_timestamps = system [mysqld_safe] log-error = /var/log/mysql/error.log socket = /var/run/mysqld/mysqld.sock pid-file = /var/run/mysqld/mysqld.pid nice = 0 [mysqldump] socket = /var/run/mysqld/mysqld.sock quick max_allowed_packet = 1024M [myisamchk] key_buffer_size = 20M sort_buffer_size = 20M read_buffer = 2M write_buffer = 2M [mysqlhotcopy] interactive-timeout [mysqld_multi] mysqld = /usr/bin/mysqld_safe mysqladmin = /usr/bin/mysqladmin log = /var/log/mysql/mysqld_multi.log EOF
启动容器
1 2 docker run -d --name redmine_db_1 -v /home/docker/redmine:/etc/mysql/conf.d -e MYSQL_ROOT_PASSWORD=example -e MYSQL_DATABASE=redmine mysql docker run -d --name redmine_redmine_1 --link redmine_db_1:mysql -p 3000:3000 redmine
最后登录:http://ip:3000 重置管理员密码。
使用 docker-compose 命令创建 redmine 环境 编写 docker-compose.yml 文件
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 cat > /home/docker/redmine/docker-compose.yml << EOF version: '2' services: redmine: image: redmine ports: - 3000:3000 environment: REDMINE_DB_MYSQL: db REDMINE_DB_PASSWORD: example depends_on: - db restart: always db: image: mysql environment: MYSQL_ROOT_PASSWORD: example MYSQL_DATABASE: redmine volumes: - /home/docker/redmine:/etc/mysql/conf.d restart: always EOF
启动容器
查看容器进程
1 2 3 4 docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 09fecc7fca5b redmine "/docker-entrypoin..." 9 seconds ago Up 9 seconds 0.0.0.0:3000->3000/tcp redmine_redmine_1 4df9d06426e1 mysql "docker-entrypoint..." 10 seconds ago Up 9 seconds 3306/tcp redmine_db_1
参考