本页目录
# Step 1: 生成配置
docker run -v /root/openvpn:/etc/openvpn --log-driver=none --rm kylemanna/openvpn ovpn_genconfig -u udp://y4.yuid.org
# Step 2: 初始化pki
docker run -v /root/openvpn:/etc/openvpn --log-driver=none --rm -it kylemanna/openvpn ovpn_initpki
# Step 3: 启动服务
docker run -v /root/openvpn:/etc/openvpn -d -p 1194:1194/udp --cap-add=NET_ADMIN --name ovpn kylemanna/openvpn
# 用户与登录证书
# 创建用户
docker run -v /root/openvpn:/etc/openvpn --log-driver=none --rm -it kylemanna/openvpn easyrsa build-client-full dayu nopass
# 导出用户客户端证书
docker run -v /root/openvpn:/etc/openvpn --log-driver=none --rm kylemanna/openvpn ovpn_getclient dayu > member/dayu.ovpn
# 启动一个HTTP代理
docker run --restart=always --name=proxy -d -e SQUID_USERNAME=dayu -e SQUID_PASSWORD=K4zm8fZV6jw0n -p 8008:3128 robhaswell/squid-authenticated
# 代理验证
curl -x http://dayu:K4zm8fZV6jw0n@dayu.me:8008/ http://ip.gs
docker images --format '{{.Size}}\t{{.Repository}}\t{{.Tag}}\t{{.ID}}' | sort -h
docker exec -it dev-registry-1 bin/registry garbage-collect /etc/docker/registry/config.yml
docker exec -it <registry_container_id> bin/registry delete <image_name>:<tag>
dev.liveio.cn:5000/v2/_catalog
curl -k -X GET https://dev.liveio.cn:5000/v2/_catalog
curl -k -X GET https://dev.liveio.cn:5000/v2/gobuilder/tags/list
curl -k -X GET https://dev.liveio.cn:5000/v2/devops/rust-linux-darwin-builder/tags/list
docker rmi $(docker images -f "dangling=true" -q)
先需要明白两个概念,镜像和容器。
镜像:使用 docker images
命令输出是镜像,可以基于某个镜像启动多个容器,可以自己编译或从指定Docker Hub 上用 docker pull ...
拉取。
容器:使用 docker ps
命令输出的是容器,使用 docker run ...
来启动。
镜像 docker save ...
导出 / docker load ...
导入
# 可一次导出多个镜像
docker save -o images.tar postgres:9.6 mongo:3.4
# 在目标系统导入。同名的会被覆盖
docker load -i images.tar
容器 (container) 的导出和恢复
# postgres 使用容器的名称或ID
docker export -o postgres-export.tar postgres
# 恢复为镜像
docker import postgres-export.tar postgres:latest
注意:容器导出,恢复后是镜像。
ref:
docker ps -a -q -f status=exited | xargs docker rm