一、容器的生命周期实践
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用户是没有删除权限,需要重新创建用户,并且给予权限