docker基础——自定义镜像、创建私有仓库、查看 docker 运行状态
一、自定义镜像
1,案例1
要求:请自定义一个 docker 镜像,基于 hub.c.163.com/library/centos,要求创建出来的镜像在生成容器的时候,可以直接使用 ifconfig 命令
自定义镜像,输入 vim Dockerfile:
RUN rpm --import
FROM hub.c.163.com/library/centos
MAINTAINER suyunanyan
RUN rpm --import/etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-*
RUN yum install net-tools -y
CMD ["/bin/bash"]
运行:-t 后面是自定义镜像的名称 .表示当前目录 Dockerfile
docker build -t centos .
docker查看images:
测试这个镜像:
--rm 表示退出后自动删除
退出后,docker ps -a | grep centos ,没有之前的centos了:
2,案例2
要求:通过自定义安装nginx,是的本地的index.html作为Nginx默认访问页面
安装 epel.repo:
yum install *epel* -y
查看
ls /etc/yum.repos.d/
拷贝 epel.repo 到当前目录
cp /etc/yum.repos.d/epel.repo epel.repo
新建 index.html
echo 'hello docker!!!' > index.html
vim Dockerfile
输入:
RUN rpm --import
FROM hub.c.163.com/library/centos
MAINTAINER suyunnanyan
RUN rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-*
ADD epel.repo /etc/yum.repos.d/
RUN yum install net-tools nginx -y
RUN rm -rf /usr/share/nginx/html/
ADD index.html /usr/share/nginx/html/
CMD ["nginx", "-g","daemon off;"]
创建镜像:
docker build -t nginx .
运行镜像:
docker run -dit --rm -p 80:80 nginx
访问该服务:
二、创建私有仓库
docker pull hub.c.163.com/library/registry:latest
运行registry镜像:
docker run -dit --name=r_hub -p 5000:5000 -v /home/docker/registry:/var/lib/registry hub.c.163.com/library/registry
docker ps | grep regi
在 192.168.222.151 虚拟机上运行命令
docker pull redis
docker tag docker.io/redis 192.168.222.151:5000/gzuni/redis
推送
docker push 192.168.222.151:5000/gzuni/redis
为什么会推送失败?因为推送用的是https,修改设置:
vim /etc/docker/daemon.json
重启docker:
systemctl restart docker
再次推送:
docker push 192.168.222.151:5000/gzuni/redis
查看本地仓库:
curl -XGET http://192.168.222.151:5000/v2/_catalog
查看tags:
curl -XGET http://192.168.222.151:5000/v2/gzuni/redis/tags/list
删除本地镜像:
docker rmi -f docker.io/redis
从本地仓库下载
docker pull 192.168.222.151:5000/gzuni/redis:latest
仓库中删除镜像
curl https://raw.githubusercontent.com/burnettk/delete-docker-registry-image/master/delete_docker_registry_image.py | sudo tee /usr/local/bin/delete_docker_registry_image >/dev/null chmod a+x /usr/local/bin/delete_docker_registry_image
设置仓库目录:
export REGISTRY_DATA_DIR=/home/docker/registry/docker/registry/v2
输入删除命令:
/usr/local/bin/delete_docker_registry_image gzuni/redis:latest
三、查看 docker 运行状态
docker stats
查看操作系统
free -m
限制内存运行
docker run -it --rm -m 200M centos
设置 cpu 亲和性
docker run -it --rm --name=c1 --cpuset-cpus=1 centos
docker 监控
docker pull hub.c.163.com/xbingo/cadvisor:latest
docker run -v /var/run:/var/run -v /sys:/sys:ro -v /var/lib/docker:/var/lib/docker:ro -d -p 8080:8080 --name=mon hub.c.163.com/xbingo/cadvisor:latest
原文地址:https://blog.csdn.net/qq_22059611/article/details/83038041
docker基础——自定义镜像、创建私有仓库、查看 docker 运行状态的更多相关文章
- docker推送镜像到私有仓库
配置私有仓库源 私有仓库地址:registry.supos.ai 修改/etc/docker/daemon.json文件,增加insecure-registries,如下所示: { "ins ...
- 通过已有Nginx镜像创建私有仓库
想搭建一个私有的Docker仓库,查看了各种资料,大多是使用Nginx做代理.但是因为对于Nginx不熟悉,各种关于权限认证的问题,折腾了两天也没有搞定.后来无意在网上看到一篇使用已有镜像的方法,最终 ...
- Docker 利用registry创建私有仓库
一.Docker-registry镜像 下载地址 官方镜像下载比较慢,因为人品问题一直下载不成功,所以选择了国内的镜像. daocloud: https://hub.daocloud.io/ 还有 ...
- Docker以http访问Harbor私有仓库(一)
1 说明 前文Centos7搭建Harbor私有仓库(一)我们成功搭建Harbor,本篇我们主要配置Docker以http方式访问私有仓库 2 Docker配置 2.1 Mac系统 2.1.1 配置D ...
- Docker创建镜像以及私有仓库
Docker的安装及镜像.容器的基本操作详见博客https://blog.51cto.com/11134648/2160257下面介绍Docker创建镜像和创建私有仓库的方法,详细如下: 创建镜像 创 ...
- docker 创建新的镜像到私有仓库
docker:/data# docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES bd6db4127a9e centos &q ...
- docker创建私有仓库
由于网速和大中华局域网效果,使得我们在DockerHub下载镜像的速度很慢,甚至一些国内的镜像仓库,也感觉速度不是很好.所以,很有必要在本地或者一个我们访问很快速的地方(自己的云服务器)搭建一套镜像仓 ...
- docker for mac 创建私有仓库
拉取镜像 docker pull registry 运行registry run -d -p : -v /Users/huangenai/docker/registry:/var/lib/regist ...
- docker 创建私有仓库
由于国内访问国际网络缓慢,从DockerHub下载镜像的速度感人,所以我们有必要在本地或者自己的云服务器上搭建一套镜像仓库,提高容器下载速度使用私有仓库需修改地址:Centos 7 Docker配置: ...
随机推荐
- C语言结构体和共用体_07
概述 定义结构体类型变量的方法 结构体变量的引用 结构体变量的初始化 结构体数组 指向结构体类型数据的指针 用指针处理链表 共用体 枚举类型 用 typedef定义类型 概述 定义一个结构体的一般形 ...
- A. Vitya in the Countryside
A. Vitya in the Countryside time limit per test 1 second memory limit per test 256 megabytes input s ...
- MySQL 如何将Id相同的字段合并,并且以逗号隔开
数据库存的数据 sql: SELECT Id,GROUP_CONCAT(`Name` SEPARATOR ',') NAMES FROM `stu` GROUP BY Id;
- Linux基础学习-NFS网络文件系统实时文件共享
NFS网络文件系统 如果大家觉得Samba服务程序的配置太麻烦了,那么你共享文件的主机都是Linux系统,那么推荐大家在客户端部署nfs服务来共享文件.nfs(网络文件系统)服务可以将远程Linux系 ...
- CSS3边框图片-像素虚边的问题
虽然CSS3新增了这个功能,但是在W3school里面并没有给出具体详细的解释,还好网上不乏大神给你我们很全面的解释其中的原理-css3:border-image边框图像详解 边框图片的原理是四个角不 ...
- java的重载(overload) (2013-10-11-163 写的日志迁移
有以下几点: 1.方法名相同. 2.方法的 参数类型.个数.顺序至少有一项不同. 3.方法的返回类型可以不同. 4.方法的修饰符可以不同. 5.仅返回类型和修饰符不同也不可以构成重载. ----- ...
- 《linux设备驱动开发详解》笔记——18 ARM linux设备树
18.1 设备树的起源 linux 2.6及之前,大量板级信息被硬编码到内核里,十分庞大,大量冗余代码: linux 2.6之前,引入了设备树: 设备树源于OpenFirmware,描述硬件的数据结构 ...
- 爬虫之Scrapy和分页
下一页和详情页的处理 xpath提取时 注意: 结合网页源代码一起查找 不用框架的爬取 获取下一页 自带href属性 1)首页有下一页 next_url = element.xpath('.//a[t ...
- Applied Nonparametric Statistics-lec4
Ref: https://onlinecourses.science.psu.edu/stat464/print/book/export/html/5 Two sample test 直接使用R的t- ...
- Counting Cliques HDU - 5952 单向边dfs
题目:题目链接 思路:这道题vj上Time limit:4000 ms,HDU上Time Limit: 8000/4000 MS (Java/Others),且不考虑oj测评机比现场赛慢很多,但10月 ...