Centos7部署docker并配置docker下载安装目录,并安装seafile个人网盘
提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档
文章目录
一、Centos7部署?

















自己配置一下,或者使用默认的






配置一下网络

systemctl restart network 重启网络,就可以使用工具连接虚拟机
更换一下镜像源
[root@localhost ~]# mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
[root@localhost ~]# rm -f /etc/yum.repos.d/*.repo
[root@localhost ~]# curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 2523 100 2523 0 0 12537 0 --:–:-- --:–:-- --:–:-- 12615
[root@localhost ~]# yum clean all
已加载插件:fastestmirror, langpacks
正在清理软件源: base extras updates
[root@localhost ~]# yum makecache
已加载插件:fastestmirror, langpacks
Determining fastest mirrors
- base: mirrors.aliyun.com
- extras: mirrors.aliyun.com
- updates: mirrors.aliyun.com
base | 3.6 kB 00:00:00
extras | 2.9 kB 00:00:00
updates | 2.9 kB 00:00:00
(1/10): base/7/x86_64/group_gz | 153 kB 00:00:00
(2/10): extras/7/x86_64/filelists_db | 305 kB 00:00:00
(3/10): extras/7/x86_64/other_db | 154 kB 00:00:00
(4/10): base/7/x86_64/other_db | 2.6 MB 00:00:00
(5/10): updates/7/x86_64/filelists_db | 15 MB 00:00:03
(6/10): updates/7/x86_64/other_db | 1.6 MB 00:00:00
(7/10): updates/7/x86_64/primary_db | 27 MB 00:00:06
base/7/x86_64/filelists_db FAILED
http://mirrors.aliyuncs.com/centos/7/os/x86_64/repodata/d6d94c7d406fe7ad4902a97104b39a0d8299451832a97f31d71653ba982c955b-filelists.sqlite.bz2: [Errno 14] curl#56 - “Recv failure: Connection reset by peer”
正在尝试其它镜像。
extras/7/x86_64/primary_db FAILED
http://mirrors.aliyuncs.com/centos/7/extras/x86_64/repodata/e12dbf10e94bc2b33b1f45e026559bc8685728b139dddae0654d96bc624c5602-primary.sqlite.bz2: [Errno 14] curl#56 - “Recv failure: Connection reset by peer”
正在尝试其它镜像。
base/7/x86_64/primary_db FAILED
http://mirrors.cloud.aliyuncs.com/centos/7/os/x86_64/repodata/6d0c3a488c282fe537794b5946b01e28c7f44db79097bb06826e1c0c88bad5ef-primary.sqlite.bz2: [Errno 14] curl#56 - “Recv failure: Connection reset by peer”
正在尝试其它镜像。
(8/10): extras/7/x86_64/primary_db | 253 kB 00:00:00
(9/10): base/7/x86_64/filelists_db | 7.2 MB 00:00:01
(10/10): base/7/x86_64/primary_db | 6.1 MB 00:00:03
元数据缓存已建立
二、安装docker
1.更新yum
代码如下(示例):
yum install -y yum-utils \
device-mapper-persistent-data \
lvm2 --skip-broken
2.安装必要的包,这些包可以让yum使用HTTPS
代码如下(示例):
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
3.添加Docker的存储库:
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
如果失败试一下下面这个命令,未失败直接进行下一步
# 设置docker镜像源
yum-config-manager \
--add-repo \
https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
sed -i 's/download.docker.com/mirrors.aliyun.com\/docker-ce/g' /etc/yum.repos.d/docker-ce.repo
yum makecache fast
4.安装Docker:
sudo yum install docker-ce
5.启动Docker服务:
sudo systemctl start docker
6.设置Docker服务开机自启:
sudo systemctl enable docker
下载一个redis测试一下
docker pull redis
[root@localhost /]# docker pull redis
Using default tag: latest
Error response from daemon: Get "https://registry-1.docker.io/v2/": net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers)
[root@localhost /]#
启动docker失败,关闭防火墙重试
# 关闭
systemctl stop firewalld
# 禁止开机启动防火墙
systemctl disable firewalld
#查看是否关闭防火墙
systemctl status firewalld
7.配置docker的源
[root@localhost /]# cd /etc/docker/
[root@localhost docker]# ll
总用量 0
[root@localhost docker]# ]vi daemon.json
-bash: ]vi: 未找到命令
[root@localhost docker]# touch daemon.json
[root@localhost docker]# ll
总用量 0
-rw-r--r--. 1 root root 0 1月 18 22:21 daemon.json
[root@localhost docker]# vi daemon.json
[root@localhost docker]# sudo systemctl daemon-reload
[root@localhost docker]# sudo systemctl restart docker
[root@localhost docker]# docker info
daemon.json配置详情如下
[root@localhost docker]# cat daemon.json
{
"registry-mirrors": ["https://dockerpull.cn/"]
}
三、docker更换存储目录
检查Docker的当前根目录:
sudo docker info | grep "Docker Root Dir"
先记下这个目录,后面会用到,因为停止docker服务后,你就查询不到docker的根目录信息了。
停止Docker服务:
sudo systemctl stop docker
检查Docker服务状态:
sudo systemctl status docker
执行备份
创建备份目录并复制当前Docker根目录内容:
sudo mkdir -p /home/bak && sudo cp -a /var/lib/docker /home/bak/docker.bak
这会在 /home/bak 目录下创建一个名为 docker.bak 的完整备份。
在/home目录下创建新的Docker目录:
这里想把数据放在/home/docker/目录下
sudo mkdir -p /home/docker/var/lib/docker
复制现有的Docker数据到新目录:
sudo rsync -avzh /var/lib/docker/ /home/docker/var/lib/docker/
重命名原来的Docker目录(以备份):
sudo mv /var/lib/docker /var/lib/docker.old
创建软链接:
sudo ln -s /home/docker/var/lib/docker /var/lib/docker
重启Docker服务:
sudo systemctl start docker
验证新的Docker根目录
sudo docker info | grep "Docker Root Dir"
可以看到真实的目录已经是新的路径了
确认Docker正常工作,
如果一切正常后,可以删除旧的Docker目录:
sudo rm -rf /var/lib/docker.old
四、docker部署SeaFiles
1.下载Docker Compose二进制文件。
你可以从Docker GitHub发布页面找到最新版本的Docker Compose的链接。执行以下命令下载Docker Compose:
sudo curl -L "https://github.com/docker/compose/releases/download/v2.5.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
2.修改二进制文件的执行权限:
sudo chmod +x /usr/local/bin/docker-compose
3.验证安装是否成功:
docker-compose --version
4.seafile-11.0的docker-compose.yml
services:
db:
image: mariadb:10.11
container_name: seafile-mysql
environment:
- MYSQL_ROOT_PASSWORD=db_dev # Requested, set the root's password of MySQL service.
- MYSQL_LOG_CONSOLE=true
- MARIADB_AUTO_UPGRADE=1
volumes:
- /opt/seafile-mysql/db:/var/lib/mysql # Requested, specifies the path to MySQL data persistent store.
networks:
- seafile-net
memcached:
image: memcached:1.6.18
container_name: seafile-memcached
entrypoint: memcached -m 256
networks:
- seafile-net
seafile:
image: seafileltd/seafile-mc:11.0-latest
container_name: seafile
ports:
- "80:80"
# - "443:443" # If https is enabled, cancel the comment.
volumes:
- /opt/seafile-data:/shared # Requested, specifies the path to Seafile data persistent store.
environment:
- DB_HOST=db
- DB_ROOT_PASSWD=db_dev # Requested, the value shuold be root's password of MySQL service.
- TIME_ZONE=Asia/Shanghai # Optional, default is UTC. Should be uncomment and set to your local time zone.
- SEAFILE_ADMIN_EMAIL=me@example.com # Specifies Seafile admin user, default is 'me@example.com'.
- SEAFILE_ADMIN_PASSWORD=asecret # Specifies Seafile admin password, default is 'asecret'.
- SEAFILE_SERVER_LETSENCRYPT=false # Whether use letsencrypt to generate cert.
- SEAFILE_SERVER_HOSTNAME=seafile.example.com # Specifies your host name.
depends_on:
- db
- memcached
networks:
- seafile-net
networks:
seafile-net:
5…安装seafiles
# 在home目录下创建目录
mkdir seafile
# 将docker-compose放入上面的目录中
# 执行下面的命令,这个过程需要时间
docker compose up -d
5.初始化一个管理员账号
# 在机器中执行如下命令
docker exec -it seafile /opt/seafile/seafile-server-latest/reset-admin.sh
6.简单使用
3.1 浏览器方式
在浏览器中输入地址:http://192.168.89.110
7857

被折叠的 条评论
为什么被折叠?



