Ubuntu使用docker安装redmine

Ubuntu18.04安装redmine+mysql+nginx+Passenger 前提: 1.本过程有一些步骤,如果ubuntu系统中已经存在,则不需要做 2.如果命令不好用,试着加上sudo 或者去掉 sudo 3.本教程是在可以连接外网的情况下实现 4.请提前安装vim,如果有其他编辑工具也可,下面所有vim相应替换即可 Step1: 更新系统依赖 命令: apt-get update //如果不成功,则执行下面命令再试试 sudo apt-get clean sudo rm -vf /var/lib/apt/lists/* sudo rm -vf /var/lib/apt 阅读详情

Ubuntu使用docker安装redmine

1 安装docker

apt-get install docker.io

2 下载镜像

在docker hub中已经有redmine和mysql的官方镜像了。这里我选用mysql的5.7版本和redmine的3.2版本。

docker pull mysql:5.7
docker pull redmine:3.2

安装成功之后,执行docker images,可以看到两个镜像的描述,类似如下:

#docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             VIRTUAL SIZE
mysql               5.7                 b73014bcbc5b        7 hours ago         400.2 MB
redmine             3.2                 6e3204627702        11 hours ago        636.1 MB

3 docker启动mysql

docker run -d -p 3306:3306 --name server-mysql -e MYSQL_ROOT_PASSWORD="pass"  -e MYSQL_DATABASE=redmine mysql:5.7

这里为物理机和虚拟机的3306端口做了端口映射,以让外部用户可以通过3306端口访问mysql实例。

4 docker启动redmine

docker run -d -p 8080:3000 --name=server-redmine -e MYSQL_ROOT_PASSWORD="pass" --link server-mysql:mysql redmine:3.2

这里为物理机和虚拟机的8080与3000端口做了端口映射,使用外部用户可以通过8080端口访问redmine.

如果一切正常,那么使用docker ps -a可以看到下面的输出:

CONTAINER ID        IMAGE               COMMAND                CREATED              STATUS              PORTS                    NAMES
36c529a03cab        redmine:3.2         "/docker-entrypoint.   7 seconds ago        Up 7 seconds        0.0.0.0:8080->3000/tcp   server-redmine
c28063bc0494        mysql:5.7           "docker-entrypoint.s   About a minute ago   Up About a minute   0.0.0.0:3306->3306/tcp   server-mysql

5 后续步骤

目前为止,打开浏览器访问物理机的8080端口就可以打开redmine的页面了。

5.1 使用数据卷共享数据

在redmine的使用过程中,通常会有用户上传文件,这些文件存放在/usr/src/redmine/files路径下,使用docker安装后,这些文件便在虚拟机中,如果日常需要备份等维护工作,能在物理机上进行操作是比较方便的。因此借助docker的数据卷功能以实现这种需求。

docker run -d -p 8080:3000 --name=server-redmine -e MYSQL_ROOT_PASSWORD="pass" --link server-mysql:mysql -v /redmine-dir:/usr/src/redmine/files redmine:3.2

同样的mysql的数据存储目录也可以和物理机共享

docker run -d -p 3306:3306 --name server-mysql -v /mysql-dir:/var/lib/mysql -e MYSQL_ROOT_PASSWORD="pass"  -e MYSQL_DATABASE=redmine mysql:5.7

5.2 数据库备份

数据库备份的一种方法是dump成sql文件,见下面的命令。

$ docker exec server-mysql sh -c 'exec mysqldump --databases redmine -uroot -p"$MYSQL_ROOT_PASSWORD"' > /your/host/path/bak.sql

5.3 和虚拟机交互

如果想和虚拟机交互,可以启动一个虚拟机的shell:

docker exec -it $id /bin/bash

如果想将虚拟机的文件复制出来,可以用:

docker cp server-mysql:/var/lib/mysql/redmine ./ 

5.4 删除容器和镜像

在操作过程中,有时候会操作失败,产生一些不需要的文件,可以通过下面的方式删除

docker stop 36c529  #停止指定id的容器
docker rm   36c529  #删除指定id的容器
docker rmi  b73014  #删除指定id的镜像   

6 备注:

docker的安装后,会在主机上添加docker虚拟网卡,将物理机和虚拟机组织在一个内网中。通过内网ip,也可以访问虚拟机上的服务。

【云原生之Docker实战】使用Docker部署Redmine项目管理平台 阅读详情

相关推荐

docker+Redmine搭建自己的项目管理系统

docker 搭建自己的项目管理系统

sinat_35773915的博客 2346

docker部署redmine

1. 创建网络 docker network create some-network 2. 启动sql数据库 docker run -d --name some-postgres --network some-network -e POSTGRES_PASSWORD=secret -e POSTGRES_USER=redmine postgres 3. 启动redmine 1)创建挂载目录 mkdir /root/redmine/data -p 2)启动redmine docker

风之伤 1694

告别代码恐惧!用KRobot图形化编程,10分钟搞定Arduino巡线小车(附完整接线图)

本文介绍如何使用KRobot图形化编程工具快速搭建Arduino巡线小车,无需编写代码。从硬件准备到逻辑构建,详细讲解传感器数据处理、电机控制优化及高级功能扩展,帮助教育工作者和创客爱好者10分钟内完成项目。

weixin_30632089的博客 394

Docker中安装redmine(亲自安装有效)

curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun (我用的它)docker start redmine -- 启动实例 redmine (这里的redmine是上面步骤三 指定name的实例)docker ps -as -- 查看docker容器中运行服务的状态。docker start redmine(这里的redmine是上面步骤三 指定name的实例)

hanlt的专栏 5215

解决PADs VX2.7安装中的License失效与软件卡死问题

本文详细解析了PADs VX2.7安装过程中常见的License失效与软件卡死问题,提供了从破解工具选择、环境变量设置到输入法兼容性调整等实用解决方案。特别推荐使用Siemens EDA系列新版破解工具,并分享性能调优与定期维护技巧,帮助工程师高效解决安装难题。

weixin_29234239的博客 813

搭建适用于lammps中opls-aa力场的文件流程

现在我已经解决了以上问题,并且通过我的方法可以实现从空白文档到搭建完成以上全部内容,后期只要细心检查即可。需要的data文件最关键是获得相应阴阳离子的mmol文件,因此问题转化为构建一份mmol文件。主要用到的软件及程序:gaussian09,makemol程序(tranal),opls-aa的参数文件。二面角个数:成角原子序号及对应的参数(这里PF6的结构没有二面角,所以为0)参考文献个数:文献名(空够行数即可,这些是给自己的备忘))和自身体系对应的参考文献,修改或填入对应的参数即可。

baguette的博客 2886

ubuntu docker安装redmine

1.安装docker sudo apt-get install docker.io 2.下载镜像 从docker hub中获取mysql及redmine的镜像 sudo docker pull mysql:5.7 docker pull redmine:3.2 安装成功后,查看镜像 docker images 3.docker启动mysql及redmine 3.1 启动mysql sudo docker run -d -p 3306:3306 --name server-mysql -e MYS

qq_25212845的博客 552

GE Proficy Historian8.0历史数据库部署与配置全攻略

本文提供了GE Proficy Historian 8.0历史数据库的详细部署与配置指南。内容涵盖安装前的系统环境、权限与依赖检查,服务器安装的关键步骤与类型选择,采集器的安装配置与数据接入,以及客户端工具的使用与数据分析实战。旨在帮助用户规避常见陷阱,实现一次部署成功,构建稳定高效的工业数据归档平台。

silver的专栏 766

Ubuntu安装Docker及redmine

一、安装Docker 官网安装参考手册 https://docs.docker.com/engine/install/ubuntu/ 阿里云镜像加速 介绍:https://www.aliyun.com/product/acr 注册一个属于自己的阿里云账户(可复用淘宝账号) 进入管理控制台设置密码,开通 查看镜像加速器自己的 查看执行结果: 测试命令 docker version docker run hello-world docker images 二、安装Compose

天码星空 1315

svn 分支(branch)和标签(tag)管理

svn的分支管理

caohongxing的博客 3万+

HIDL概述

HIDL背景 Treble 是 Google Android 团队的一项重大项目,意在 Android 操作系统框架在架构方面的一项重大改变,旨在让制造商以更低的成本更轻松、更快速地将设备更新到新版 Android 系统。Android 7.x 及更早版本中没有正式的供应商接口,因此设备制造商必须更新大量 Android 代码才能将设备更新到新版 Android 系统: 图1 Treble ...

u013357557的专栏 2万+

用Docker安装Redmine

1、软件环境 Ubuntu 20.04 2、安装Docker 2.1、安装GPG证书 curl -fsSL http://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add - 2.2、写入软件源信息 sudo add-apt-repository "deb [arch=amd64] http://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs)

tjcbq的专栏 2681

【Go语言实战】(2) Gin+Vue 电子商城

618来!!不用纠结去哪里剁手了!直接自己安排一个商场不香吗??

面向生活编程 4827

docker-compose一键安装bitnami-redmine项目管理系统 配置修改 (ubuntu 18.04)

主要参考https://blog.youkuaiyun.com/zssureqh/article/details/51816892?utm_source=app 本安装不依赖除Docker, Docker-compose外的其他应用。 修改了docker-compose配置文件的一些参数 version: '2' services: mariadb: image: 'bitnami...

qianshuqinghan的博客 1740

深度学习论文: Towards Total Recall in Industrial Anomaly Detection

在大规模工业制造中,能够准确检测出有缺陷的零件至关重要。我们在这项工作中面临的一个特殊挑战是冷启动问题:仅使用正常的示例图像来训练模型。虽然可以针对每个类别手动设计解决方案,但我们的目标是构建能够自动适用于多个任务的系统。最佳的方法是将ImageNet模型的嵌入特征与异常检测模型结合起来。在本文中,我们在这一研究基础上进行了扩展,并提出了PatchCore,它利用了一个具有最大代表性的正常补丁特征内存库。通过这种方法,我们能够更好地解决冷启动问题,并提高系统在多任务上的性能。

mingo_敏 1875

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

redmine-docker

https://github.com/bitnami/bitnami-docker-redmine 安装docker-compose 官网上docker-ompose的安装有几种方式,我选着用pip安装(python>3.6), ubuntu16.04已经满足 pip install docker-compose 安装redmine version: '2' services: postgresql: image: 'bitnami/postgresql:11' environm

V__KING__的专栏 416

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

redmine mysql_redmine的跨平台安装与使用

redmine的跨平台安装与使用为了能够在手机和个人电脑上同时查看项目情况,就准备把redmine放在个人电脑(ubuntu)上,同时允许手机访问。server端的安装鉴于我之前已经安装过mysql,几经折腾都没法搞定redmine和mysql的通信问题以及mysql的安装和配置问题。最后,果断决定采用容器的方式,减少本地配置。利用docker,下载mysql和redmine的镜像$ sudo d...

weixin_39653733的博客 258

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

windows 安装 docker使用

docker destop

Elvis Hu的博客 132

第二篇:搭建 Redmine

Redmine 的通知机制完全依赖邮件。在「管理 → 配置 → 邮件通知」中填入 SMTP 设置即可,配置存储在数据库里,容器重建后仍然保留,无需在 docker-compose.yml 里额外配置。企业环境下,建议接入 LDAP 或 Active Directory,实现单点登录,免去用户维护独立密码的麻烦。Redmine 的数据分布在两个地方:数据库(所有 Issue、用户、配置)和文件系统(附件)。Red mine的安装不难,建议使用Docker方式,按照AI指导一步步完成安装。

linuo89的博客 474

Docker系列一:Docker基本概念及指令介绍

1. Docker是什么? Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。 Docker是个C/S的架构: server端通过Docker Daemon以守护进程进行运行, client端以bin命令形式(Docker...

weixin_38170468的博客 71
上一篇: Artifactory的搭建与使用简介
下一篇: Python库Requests的基础使用
zzulp
博客等级 码龄19年 464粉丝 176原创
评论 4
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值