docker学习(13)—镜像仓库的管理系统

一、容器的生命周期实践
1、什么是容器
容器类似胶囊公寓,它是一个精简版的操作系统,一般容器中只运行一个应用

2、容器是怎么来的
通过镜像创建容器,就是通过docker run命令创建的

3、容器有什么作用
容器起到了隔离的作用,独享空间、网络等等

4、常用命令
docker run --help
docker ps
docker stop 容器ID
docker start 容器ID
docker kill 容器ID
docker restart 容器ID
docker rm 容器ID
docker rm -f 容器ID

二、镜像仓库的管理系统
搭建一个镜像仓库管理系统。

1、生成一个认证文件,rsa的认证文件
mkdir -p /app/volume/registry/conf
cd /app/volume/registry
openssl req -new -newkey rsa:2048 -days 365 -subj "/CN=localhost" -nodes -x509 -keyout conf/auth.key -out conf/auth.cert

2、创建一个仓库容器
cd /app/volume/registry/conf
创建一个配置文件
vi registry-my.yml

version: 0.1
storage:
    filesystem:
        rootdirectory: /var/lib/registry
    delete:
        enabled: true
log:
    level: info
http:
    addr: 0.0.0.0:5000

docker run -itd \
-v /app/volume/registry/conf/registry-my.yml:/etc/docker/registry/config.yml:ro \
-v /app/volume/registry/conf/auth.cert:/etc/docker/registry/auth.cert:ro \
-v /app/volume/registry:/var/lib/registry \
-p 5000:5000 \
--name registry-my \
--privileged=true \
registry

3、看一下日志
docker logs registry-my
日志正常

4、创建一个仓库web管理系统
cd /app/volume/registry/conf
创建一个配置文件
vi registry-web.yml

registry:
    #指定registry的地址
    url: http://registry-my:5000/v2
    name: registry-my:5000
    readonly: false
    #权限验证
    auth:
        #是否开启验证
        enabled: true
        #验证证书的key
        key: /conf/auth.key
        #证书颁发者的名称
        issuer: my

docker run -itd \
-v /app/volume/registry/conf/registry-web.yml:/conf/config.yml:ro \
-v /app/volume/registry/conf/auth.key:/conf/auth.key \
-v /app/volume/registry/db:/data \
-p 8080:8080 \
--link registry-my \
--name registry-web \
--privileged=true \
hyper/docker-registry-web

注意:--link registry-my很重要,没有的话,无法连接仓库

5、登录仓库管理系统
http://IP地址:8080/login/auth
用户名admin
密码admin

6、给搭建好的仓库加个镜像
docker push registry-my:5000/test:1.0.0

7、刷新页面,有内容了

8、如何删除镜像
新增一个用户,设置权限

9、权限设置
默认admin用户是没有删除权限,需要重新创建用户,并且给予权限