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

瀏覽器輸入http://192.168.222.151:8080/containers/ :

 

 

 

 

 

 

 

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM