运维进阶训练营 -W02H
作者:赤色闪电
- 2022-10-30 北京
本文字数:1376 字
阅读完需:约 5 分钟
基于 dockerfile,实现分层构建的 nginx 业务镜像
Dockerfile 构建镜像:
FROM ubuntu:22.04
MAINTAINER "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/bin
RUN groupadd -g 2088 nginx && useradd -g nginx -s /usr/sbin/nologin -u 2088 nginx && chown -R nginx.nginx /apps/nginx
ADD 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 4
docker 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.gz
root@docker-harbor1:/usr/local/src# bash docker-install.sh
# 2.安装harbor:
root@docker-harbor1:~# mkdir /apps
root@docker-harbor1:~# cd /apps/
root@docker-harbor1:/apps# tar xvf harbor-offline-installer-v2.6.1.tgz
root@docker-harbor1:/apps# cd harbor/
root@docker-harbor1:/apps# cp harbor.yml.tmpl harbor.yml
root@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 加入
还未添加个人简介
评论