写点什么

运维进阶训练营 -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
用户头像

赤色闪电

关注

还未添加个人签名 2018-05-30 加入

还未添加个人简介

评论

发布
暂无评论
运维进阶训练营 -W02H_运维_赤色闪电_InfoQ写作社区