docker-容器,仓库
---恢复内容开始---
前言:
学技术不能该断时间,连续的学习才是最好的学习方式。
00x1:
创建一个容器:docker create -it xxxx
而启动容器就有两种状态了,第一:新容器启动,第二:是暂停状态容器启动
一个是start,一个是run
后台守护状态是:docker -d
中止容器:stop --time[=10]
进入容器:docker run -idt xxxx 命令有
attach
docker attach 容器名字:
attach 有个缺点是多个窗口连接同一个容器的时候,所有的窗口同时显示,其中一个阻塞全部阻塞,
attach的时候我发现一个问题是docker attach很久没有反应 百度一下发现要加一个container ,但是还是慢,这种方式有个缺点是,退出容器,容器就会停止,
而exec命令退出容器依然坚挺,如下图:
exec:
nsenter:这个比较麻烦,先要找到容器的进程的PID,通过pid连接容器
容器的导出:是指把已经创建的容器导出到一个文件,不管这个容器是否处于运行状态,
命令:docker export命令 有导出就有导入,load命令:不过注意点是容器的导入会丢失所有的元数据信息和历史记录,而镜像存储文件将完整记录
00x2:
仓库官方维护的仓库:https://hub.docker.com 包括了15000多个镜像,可以通过在Docker Hub直接下载
镜像分为基础镜像和用户自建镜像
比较有用的是搭建私人镜像:
Registry 的部署
1.拉取docker registry镜像
docker pull registry:2.1.1这个时候错误来了:
啥意思:不可描述的意思,解决方法换国内的镜像源
echo"DOCKER_OPTS=\"\$DOCKER_OPTS --registry-mirror=http://f2d6cb40.m.daocloud.io\"" | sudo tee -a /etc/default/docker
然后要重启下docker ,service docker restart
最后见证奇迹的时候:还是不行,最后以为4.1级的英语勉强翻译了一下,发现不就是要登陆吗,果然成功了,英语是真的重要
启动该镜像,映射端口5000:docker run -d -p 5000:5000 registry
该虚拟机ip:192.168.166.133:5000就成了一个私人仓库
上传:docker push 到本地registry仓库