Docker容器: Docker部署 ownCloud 和 nextCloud 容器内连接 MySql

文章来自:http://blog.csdn.net/intbird

几年没上博客了,发现在这里学习的人还是很多的,
去年的ownCloud部署我看浏览量很高,确实自己也是在用
现在提高点效率,用docker部署介绍一下

docker

  1. docker官网: https://www.docker.com/get-started

  2. docker常用命令:

Docker images // 查看本地所有镜像
Docker container ls // 列出本地所有容器
Docker ps  // 查看运行中任务
Docker ps -a  // 查看所有任务
Docker ps -aq // 查看所有任务-仅id
docker stop $(docker ps -aq) // 停止所有任务
docker rm $(docker ps -aq)  // 删除所有容器
Docker exec -it 1242b5b5a832 /bin/bash // 进入id为1242b5b5a832 的容器内部
  1. 声明docker容器统一目录(mac配置到profile文件中,windows为环境变量中)

    export DOCKER_MOUNT=/Volumes/intbird/workspace/docker/mount
    export DOCKER_MOUNT=/root/docker/mount

  2. 复制容器内文件

    $DOCKER_MOUNT 为上面定义的统一目录

    docker container cp 1690040f9990:/usr/local/apache2/htdocs/ $DOCKER_MOUNT/httpd
    



mysql(不用下载, 稍后直接pull docker版本的)

  1. 官网地址: https://dev.mysql.com/downloads/mysql/

  2. 管理工具: https://dev.mysql.com/downloads/workbench/



nextCloud(不用下载, 稍后直接pull docker版本的)

  1. 官网地址: https://nextcloud.com/



重点来了(上面都是介绍而已)

1,docker 的 软链命令要被废弃了,但是资料延后,

所以网上很多都是通过 桥接 bridge过去的,
这里就不用了,用目前docker官网推荐的network工作模式

docker network create  intbird-network

2.mysql (不要用高位版本 用5.x的,不然坑死你没商量,别怪我没说)

docker pull mysql:5.7.26


docker run --name intbird-mysql \
--net=intbird-network \
-p 3306:3306   \
-e MYSQL_ROOT_PASSWORD=intbird1010 \
-v $DOCKER_MOUNT/mysql:/var/lib/mysql   \
-d mysql:5.7.26

Docker容器: Docker部署 ownCloud 和 nextCloud 容器内连接 MySql_第1张图片

3.NextCloud (PHP语言实现的)

docker pull nextcloud:16.0


docker run --name intbird-next-cloud \
--net=intbird-network  \
-p 8080:80   \
-v $DOCKER_MOUNT/nextcloud:/var/www/html  \
-d nextcloud:16.0 

4.Seafile (也是一个网盘服务器 C 实现的)

docker pull seafileltd/seafile: 6.3.4


docker run -d --name intbird-seafile \
  --network intbird-network  \
  -e SEAFILE_SERVER_HOSTNAME=intbird.myiphost.com \
 -e [email protected] \
 -e SEAFILE_ADMIN_PASSWORD=intbird1010 \
  -v $DOCKER_MOUNT/seafile:/shared \
  -p 8082:80 \
  -d seafileltd/seafile:6.3.4

Docker容器: Docker部署 ownCloud 和 nextCloud 容器内连接 MySql_第2张图片

5.根据上面的规则,自己获取ownCloud安装试试

 略...

Docker容器: Docker部署 ownCloud 和 nextCloud 容器内连接 MySql_第3张图片

6.phpMyAdmin 在mysql docker版安装完毕后,可以连接验证可用性

docker pull phpmyadmin/phpmyadmin:4.8.5


docker run --name intbird-php-my-admin \
--net=intbird-network \
-p 8088:80 \
-e MYSQL_ROOT_PASSWORD=intbird1010 \
-e PMA_HOST="intbird-mysql" \
-e PMA_PORT=3306 \
-d phpmyadmin/phpmyadmin:4.8.5

7.既然是同一个intbird-network,而且都在容器内部

所以在onwCloud或者nextCould安装选项里
选择了mysql作为数据后就不能再用电脑宿主机
127.0.0.1: 3306 作为mysql地址
要选择 n e t w o r d − n a m e : p o r t netword-name: port networdname:port 连接mysql

比如在我这的 intbird-mysql:3306 ,

如果自己改为了其他端口,注意修改
第七部对应的地址为:

Docker容器: Docker部署 ownCloud 和 nextCloud 容器内连接 MySql_第4张图片

Tomcat 和 httpd docker版本运行:

Tomcat :  docker pull tomcat:9.0.20

docker run --name intbird-tomcat \
--network intbird-network \
-p 8081:8080 \
-v $DOCKER_MOUNT/tomcat:/usr/local/tomcat/webapps \
-d tomcat:9.0.20
Httpd: docker pull httpd:2.4.39

docker run --name intibird-httpd \
--network intbird-network \
-p 80:80 \
-v $DOCKER_MOUNT/httpd:/usr/local/apache2/htdocs/  \
-d httpd:2.4.39

文章来自:http://blog.csdn.net/intbird
有问题可以联系我
微信公众号:ixudeyu
微信号: xudeyu

你可能感兴趣的:(Docker)