微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Ubuntu使用docker安装redmine

1 安装docker

 
 
  • 1
apt-get install docker.io

2 下载镜像

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

1
  
  
  • 2
  • docker pull MysqL:5.7 docker pull redmine:3.2

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

    2
      
      
  • 3
  • 4
  • #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

    1
     
     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

    1
     
     docker run -d -p 8080:3000 --name=server-redmine -e MysqL_ROOT_PASSWORD="pass" --link server-MysqL:MysqL redmine: 这里为物理机和虚拟机的8080与3000端口做了端口映射,使用外部用户可以通过8080端口访问redmine.

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

    3
     
     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的数据卷功能以实现这种需求。

    3000 --name=server-redmine -e MysqL_ROOT_PASSWORD="pass" --link server-MysqL:MysqL -v /redmine-dir:/usr/src/redmine/files redmine: 同样的MysqL的数据存储目录也可以和物理机共享

    3306 --name server-MysqL -v /MysqL-dir:/var/lib/MysqL -e MysqL_ROOT_PASSWORD=5.7

    5.2 数据库备份

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

    1
     
     $ docker exec server-MysqL sh -c 'exec MysqLdump --databases redmine -uroot -p"$MysqL_ROOT_PASSWORD"' > /your/host/path/bak.sql

    5.3 和虚拟机交互

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

    1
     
     docker exec -it $id /bin/bash

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

    1
     
     docker cp server-MysqL:/var/lib/MysqL/redmine ./

    5.4 删除容器和镜像

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

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

    6 备注:

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

    原文地址:https://www.jb51.cc/ubuntu/350717.html

    版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

    相关推荐