运维进阶训练营 -W02H
 作者:赤色闪电
- 2022-10-30  北京
 本文字数:1376 字
阅读完需:约 5 分钟
基于 dockerfile,实现分层构建的 nginx 业务镜像
Dockerfile 构建镜像:FROM ubuntu:22.04MAINTAINER "BlazeLuLu"
ADD sources.list /etc/apt/sources.list
RUN apt update && apt  install -y iproute2  ntpdate  tcpdump telnet traceroute nfs-kernel-server nfs-common  lrzsz tree  openssl libssl-dev libpcre3 libpcre3-dev zlib1g-dev ntpdate tcpdump telnet traceroute  gcc openssh-server lrzsz tree  openssl libssl-dev libpcre3 libpcre3-dev zlib1g-dev ntpdate tcpdump telnet traceroute iotop unzip zip make
ADD nginx-1.22.0.tar.gz /usr/local/src/RUN cd /usr/local/src/nginx-1.22.0 && ./configure --prefix=/apps/nginx && make && make install  && ln -sv /apps/nginx/sbin/nginx /usr/binRUN groupadd  -g 2088 nginx && useradd  -g nginx -s /usr/sbin/nologin -u 2088 nginx && chown -R nginx.nginx /apps/nginxADD nginx.conf /apps/nginx/conf/ADD frontend.tar.gz /apps/nginx/html/
EXPOSE 80 443#ENTRYPOINT ["nginx"]CMD ["nginx","-g","daemon off;"]复制代码
 基于 docker 实现对容器的 CPU 和内存的资源限制
1、CPU 限制:
#只给容器分配最多两核宿主机CPU利用率docker run -it --rm  --name magedu-c1 --cpus 2 lorel/docker-stress-ng  --cpu 4 --vm 4#将容器运行到指定的CPU上docker run -it --rm  --name magedu-c1 --cpus 2  --cpuset-cpus 1,3 lorel/docker-stress-ng  --cpu 4 --vm 4# 基于cpu--shares值(共享值)对CPU进行限制,分别启动两个容器,magedu-c1的--cpu-shares值为1000,magedu-c2的--cpu-shares为500,观察最终效果,--cpu-shares值为1000的magedu-c1的CPU利用率基本是--cpu-shares为500的magedu-c2的两倍docker run -it --rm  --name magedu-c1 --cpu-shares 1000  lorel/docker-stress-ng  --cpu 4 --vm 4docker run -it --rm  --name magedu-c2  --cpu-shares 500  lorel/docker-stress-ng  --cpu 4 --vm 4复制代码
 2、物理内存限制:
# 1、不限制容器内存# 启动两个工作进程,每个工作进程最大允许使用内存256M,且宿主机不限制当前容器最大内存docker run -it --rm  --name magedu-c1  lorel/docker-stress-ng --vm 2 --vm-bytes 256M# 2、限制容器最大内存docker run -it --rm -m 256m --name magedu-c1  lorel/docker-stress-ng --vm 2 --vm-bytes 256M复制代码
 部署 http 协议的 harbor 镜像仓库
# http镜像仓库# 1、安装docker:root@docker-harbor1:~# cd /usr/local/src/root@docker-harbor1:/usr/local/src# tar xvf docker-20.10.18-binary-install.tar.gzroot@docker-harbor1:/usr/local/src# bash docker-install.sh# 2.安装harbor:root@docker-harbor1:~# mkdir  /appsroot@docker-harbor1:~# cd /apps/root@docker-harbor1:/apps# tar xvf harbor-offline-installer-v2.6.1.tgzroot@docker-harbor1:/apps# cd harbor/root@docker-harbor1:/apps# cp harbor.yml.tmpl  harbor.ymlroot@docker-harbor1:/apps/harbor# vim harbor.yml# hostname: harbor.magedu.net# http:#		port: 80# harbor_admin_password: 12345678复制代码
 
划线
评论
复制
发布于: 刚刚阅读数: 5
版权声明: 本文为 InfoQ 作者【赤色闪电】的原创文章。
原文链接:【http://xie.infoq.cn/article/d5932b1eb74e09413ec5335d1】。未经作者许可,禁止转载。
赤色闪电
关注
还未添加个人签名 2018-05-30 加入
还未添加个人简介









    
评论