码迷,mamicode.com
首页 > 其他好文 > 详细

docker基础——自定义镜像、创建私有仓库、查看 docker 运行状态

时间:2019-05-30 14:32:07      阅读:155      评论:0      收藏:0      [点我收藏+]

标签:imp   install   ofo   repos   share   ash   自定义   自动删除   tee   

一、自定义镜像

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 运行状态

标签:imp   install   ofo   repos   share   ash   自定义   自动删除   tee   

原文地址:https://www.cnblogs.com/jpfss/p/10949284.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!