一、自定义镜像

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

浏览器输入http://192.168.222.151:8080/containers/ :

原文地址:https://blog.csdn.net/qq_22059611/article/details/83038041

docker基础——自定义镜像、创建私有仓库、查看 docker 运行状态的更多相关文章

  1. docker推送镜像到私有仓库

    配置私有仓库源 私有仓库地址:registry.supos.ai 修改/etc/docker/daemon.json文件,增加insecure-registries,如下所示: { "ins ...

  2. 通过已有Nginx镜像创建私有仓库

    想搭建一个私有的Docker仓库,查看了各种资料,大多是使用Nginx做代理.但是因为对于Nginx不熟悉,各种关于权限认证的问题,折腾了两天也没有搞定.后来无意在网上看到一篇使用已有镜像的方法,最终 ...

  3. Docker 利用registry创建私有仓库

    一.Docker-registry镜像 下载地址 官方镜像下载比较慢,因为人品问题一直下载不成功,所以选择了国内的镜像. daocloud:   https://hub.daocloud.io/ 还有 ...

  4. Docker以http访问Harbor私有仓库(一)

    1 说明 前文Centos7搭建Harbor私有仓库(一)我们成功搭建Harbor,本篇我们主要配置Docker以http方式访问私有仓库 2 Docker配置 2.1 Mac系统 2.1.1 配置D ...

  5. Docker创建镜像以及私有仓库

    Docker的安装及镜像.容器的基本操作详见博客https://blog.51cto.com/11134648/2160257下面介绍Docker创建镜像和创建私有仓库的方法,详细如下: 创建镜像 创 ...

  6. docker 创建新的镜像到私有仓库

    docker:/data# docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES bd6db4127a9e centos &q ...

  7. docker创建私有仓库

    由于网速和大中华局域网效果,使得我们在DockerHub下载镜像的速度很慢,甚至一些国内的镜像仓库,也感觉速度不是很好.所以,很有必要在本地或者一个我们访问很快速的地方(自己的云服务器)搭建一套镜像仓 ...

  8. docker for mac 创建私有仓库

    拉取镜像 docker pull registry 运行registry run -d -p : -v /Users/huangenai/docker/registry:/var/lib/regist ...

  9. docker 创建私有仓库

    由于国内访问国际网络缓慢,从DockerHub下载镜像的速度感人,所以我们有必要在本地或者自己的云服务器上搭建一套镜像仓库,提高容器下载速度使用私有仓库需修改地址:Centos 7 Docker配置: ...

随机推荐

  1. java基础——Map集合

    Map以键值对的形式存储数据,其中Map.entry,是Map的内部类,它用来描述Map中的键值对.Map是一个接口,HashMap是他的一个实现类 Map中有几个重要的方法: get(Object ...

  2. 使用CAShapeLayer实现复杂的View的遮罩效果

    一.案例演示 最近在整理一个聊天的项目的时候,发送图片的时候,会有一个三角的指向效果,指向这张图片的发送者.服务端返回给我们的图片只是一张矩形的图片,我们如何把一张矩形的图片或者View,加上一层自定 ...

  3. LLDB详解

    LLDB的Xcode默认的调试器,它与LLVM编译器一起,带给我们更丰富的流程控制和数据检测的调试功能.平时用Xcode运行程序,实际走的都是LLDB.熟练使用LLDB,可以让你debug事半功倍 L ...

  4. git使用stash存储相关操作

    git stash  将当前修改存储起来 git stash apply 恢复最近一次存储 git stash apply stash@{2} 恢复某一次存储 git stash list 查看存储列 ...

  5. 02Qt信号与槽(1)

    信号与槽 1.概述 ​ 信号和槽机制是 Qt 的核心机制,信号和槽是一种高级接口,应用于对象之间的通信,它是 Qt 的核心特性,也是 Qt 区别于其他工具包的重要地方.信号和槽是 Qt 自行定义的一种 ...

  6. 【php】【特殊案例】数组调用方法

    As of PHP 5.4.0, you can call any callable stored in a variable. <?php class Foo { static functio ...

  7. 2.什么是composer与packgist,composer的安装

    目录 学习地址: composer与packgist关系图片 composer的安装; 配置composer 修改国内镜像 用composer安装与卸载插件 composer插件升级后报错 学习地址: ...

  8. hessian应用示例

    因为公司的项目远程调用采用的是hessian,故抽时间了解了下hessian,自己也写了一个应用实例,以便加深对hessian的理解. Hessian是一个轻量级的remoting onhttp工具, ...

  9. 用Python实现小说中的汉字频率统计

     环境: Python 3的代码,亲测可用. 思路: 是先把每个字符提出来放在列表里:再过滤掉其中的标点符号:最后用字典对某个字出现的频率进行累加. 扩展: 用处很多,稍微改改,既可以用来统计小说或文 ...

  10. BZOJ 4368: [IOI2015]boxes纪念品盒

    三种路径,左边出去左边回来,右边出去右边回来,绕一圈 绕一圈的路径最多出现一次 那么绕一圈的路径覆盖的点一定是左边半圈的右边和右边半圈的左边 枚举绕一圈的路径的起始点(一定要枚举,这一步不能贪心),更 ...