文章来自:http://blog.csdn.net/intbird
几年没上博客了,发现在这里学习的人还是很多的,
去年的ownCloud部署我看浏览量很高,确实自己也是在用
现在提高点效率,用docker部署介绍一下
docker
-
docker官网: https://www.docker.com/get-started
-
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 的容器内部
-
声明docker容器统一目录(mac配置到profile文件中,windows为环境变量中)
export DOCKER_MOUNT=/Volumes/intbird/workspace/docker/mount
export DOCKER_MOUNT=/root/docker/mount -
复制容器内文件
$DOCKER_MOUNT 为上面定义的统一目录
docker container cp 1690040f9990:/usr/local/apache2/htdocs/ $DOCKER_MOUNT/httpd
mysql(不用下载, 稍后直接pull docker版本的)
nextCloud(不用下载, 稍后直接pull docker版本的)
-
官网地址: 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
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
5.根据上面的规则,自己获取ownCloud安装试试
略...
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地址
要选择
连接mysql
比如在我这的 intbird-mysql:3306 ,
如果自己改为了其他端口,注意修改
第七部对应的地址为:
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