Docker备份

mac2024-03-06  30

用自己的最踏实

下载服务程序 sunxin@architect:~$ sudo docker pull registry 修改配置 registrye容器服务使用http通信的,但docker客户端使用的是安全的https访问。此时直接从私有仓库push或pull镜像不会成功,错误信息: Get https://192.168.6.1:5000/v2/: http: server gave HTTP response to HTTPS client

修改配置文件 1#

sunxin@architect:~$ sudo nano /etc/default/docker DOCKER_OPTS="--insecure-registry=192.168.6.1:5000"

修改配置文件 2#

sunxin@architect:~$ sudo nano /lib/systemd/system/docker.service EnvironmentFile=-/etc/default/docker //ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock ExecStart=/usr/bin/dockerd -H fd:// $DOCKER_OPTS ExecReload=/bin/kill -s HUP $MAINPID TimeoutSec=0 RestartSec=2 Restart=always 启动服务 docker run --name docker-registry -d -p 5000:5000 registry

–name docker-registry 镜像名 -d 后台运行 -p 5000:5000 将容器的5000影射到宿主机的5000端口 registry 运行的镜像名,就是刚从官网下的那个

开始折腾 sunxin@architect:~$ sudo docker tag fce2 192.168.6.1:5000/hello-world sunxin@architect:~$ sudo docker images REPOSITORY TAG IMAGE ID CREATED SIZE 192.168.6.1:5000/hello-world latest fce289e99eb9 10 months ago 1.84kB hello-world latest fce289e99eb9 10 months ago 1.84kB sunxin@architect:/lib/systemd/system$ sudo docker push 192.168.6.1:5000/hello-world The push refers to repository [192.168.6.1:5000/hello-world] af0b15c8625b: Pushed latest: digest: sha256:92c7f9c92844bbbb5d0a101b22f7c2a7949e40f8ea90c8b3bc396879d95e899a size: 524 sunxin@architect:~$ sudo docker rmi 192.168.6.1:5000/hello-world REPOSITORY TAG IMAGE ID CREATED SIZE hello-world latest fce289e99eb9 10 months ago 1.84kB sunxin@architect:~$ 常用的还是备份一下吧,直接下载确实太慢了。到这里去注册 https://cr.console.aliyun.com/

给自己排个任务表(WeKan)

网上找了一个,但配置是错误的,修改了一下,没问题了!配置时要注意端口占用问题,使用 lsof -i:port 查一下再配置。

使用 docker-compose 吧,就这个配置起来像点编程。 version: '2' services: wekandb: image: mongo container_name: wekan-db restart: always command: mongod --oplogSize 128 networks: - wekan-tier expose: - 27017 volumes: - wekan-db:/data/db - wekan-db-dump:/dump wekan: image: wekanteam/wekan:latest container_name: wekan-app restart: always networks: - wekan-tier ports: - 8090:8080 environment: - MONGO_URL=mongodb://wekandb:27017/wekan - ROOT_URL=http://192.168.0.100:8090 depends_on: - wekandb volumes: wekan-db: driver: local wekan-db-dump: driver: local networks: wekan-tier: driver: bridge 启动它 sudo docker-compose up -d 。如果出错了就去掉-d 看一下运行日志。

悦库网盘系统(YDisks)

到 http://www.ydisk.cn/page/download.html 去下载“悦库网盘服务端(Linux版)”。当前是2.4.0版,.tar.gz格式的。解压文件,可得到4个文件。执行setup.sh完成安装。

换一种方法

docker load -i ./ydisks_2.4.0.15.tar docker run --name ydisks --net=host --restart=always -itd -v 数据目录:/usr/local/ydisks/userfiles 镜像名称:镜像版本号

GitLab最常用

gitlab: image: gitlab/gitlab-ce restart: always hostname: gitlab container_name: gitlab ports: #这个端口配置要注意:如果容器改变了端口号,那么这里也要相应更改。 - 80:80 volumes: - /etc/localtime:/etc/localtime - ./conf:/etc/gitlab - ./data/logs:/var/log/gitlab - ./data/data:/var/opt/gitlab gitlab-runner: image: gitlab/gitlab-runner restart: always hostname: gitlab-runner container_name: gitlab-runner extra_hosts: - git.imlcs.top:127.0.0.1 depends_on: - gitlab volumes: - /etc/localtime:/etc/localtime - ./runner:/etc/gitlab-runner

要想使用CI必须配置一下Runner:

1 先运行配置命令 docker run --rm -t -i -v /srv/gitlab-runner/config:/etc/gitlab-runner gitlab/gitlab-runner register 2 输入GitLab实例的URL(配置页提供) Please enter the gitlab-ci coordinator URL (e.g. https://gitlab.com ) https://gitlab.com 3 输入GitLab提供的令牌(配置页提供) Please enter the gitlab-ci token for this runner xxx 4 输入Runner的描述,您可以稍后在GitLab的UI中进行更改 Please enter the gitlab-ci description for this runner [hostname] my-runner 5 输入与Runner关联的标记,您可以稍后在GitLab的UI中更改此标记 Please enter the gitlab-ci tags for this runner (comma separated): my-tag,another-tag 6 输入Runner的执行器类型(https://docs.gitlab.com/runner/executors/README.html) Please enter the executor: ssh, docker+machine, docker-ssh+machine, kubernetes, docker, parallels, virtualbox, docker-ssh, shell: docker 7 如果您选择Docker作为执行者,则会要求将默认图像用于在.gitlab-ci.yml中未定义的项目 Please enter the Docker image (eg. ruby:2.1): alpine:latest

alpine系统可以参考:https://blog.csdn.net/bbwangj/article/details/81088231

以上步骤可以参考:https://docs.gitlab.com/runner/register/index.html

SVN也能用

#.运行SVN服务器镜像(这里用到docker,具体查资料去) docker run --restart always --name svn -d -v /root/dockers/svn:/var/opt/svn -p 3690:3690 garethflowers/svn-server:1.1.0 - garethflowers/svn-server:1.1.0 最后的1.1.0是版本号,一般不用指定,使用默认的latest - 如果使用 docker-compose 可以参考下面的配置 svn-server: image: elleflorio/svn-server container_name: svn-server restart: always hostname: svn-server ports: - 84:80 - 3690:3690 volumes: - ./docker/svn-server:/home/svn - /home/svn 注意是根目录 - 3690:3690 是映射端口,3690是SVN的默认端口,使用客户端turtoiseSVN时会默认使用此端口,而不用人工指定 #.创建svn仓库和账户 docker exec -it svn /bin/sh svnadmin create svn - 这个是创建版本库,如果使用上面的配置,镜像里的路径应该是 /home/svn/svn, 而在宿主机上的路径是 ./docker/svn-server/svn #.资源仓库配置,修改svnserve.conf [general] anon-access = none # 匿名用户不可读写,也可设置为只读 read auth-access = write # 授权用户可写 password-db = passwd # 密码文件路径,相对于当前目录 authz-db = authz # 访问控制文件 realm = /var/opt/svn/svn # 认证命名空间,会在认证提示界面显示,并作为凭证缓存的关键字,可以写仓库名称比如svn #.配置账号与密码,修改 passwd 文件,格式为“账号 = 密码” [users] # harry = harryssecret # sally = sallyssecret admin = 123456 #.配置账户权限,修改 authz 文件 [groups] owner = admin [/] # / 表示所有仓库 admin = rw # 用户 admin 在所有仓库拥有读写权限 [svn:/] # 表示以下用户在仓库 svn 的所有目录有相应权限 @owner = rw # 表示 owner 组下的用户拥有读写权限 - 使用 turtoiseSVN 时会报错, 解决这个问题需要在 svnserve.conf 文件中必须使能 anon-access = none, 并且在authz中指定 "*="

添加一个删除提交记录的方法:

进入SVN的数据目录 ./docker/svn-server/svn/db删除此目录下的 rep-cache.db。并修改此目录下的current文件,将其修改为上一个版本删除db/revs/0/ 目录下的XX文件 并 删除db/revprops/0/ 目录下的XX文件
最新回复(0)