网站开发需求图,织梦模板网站源码下载,网站设计旅行社新闻内容,金华模板建站定制网站昨日内容回顾: - dockerfile的优化 - 编译速度 - 充分利用缓存镜像#xff0c;将不常变更的指令放在靠前的位置; - 在不影响功能的前提下#xff0c;最好是可以合并多条指令#xff0c;可以减少中间容器或者镜像的产生; - …昨日内容回顾: - dockerfile的优化 - 编译速度 - 充分利用缓存镜像将不常变更的指令放在靠前的位置; - 在不影响功能的前提下最好是可以合并多条指令可以减少中间容器或者镜像的产生; - 软件源最高更换国内较稳定的软件源相比国外的软件源速度会更快; - 使用.dockerignore文件忽略Dockerfile编译不需要的文件; - 镜像体积大小 - 删除无用的缓存文件比如说已经安装的编译器软件包缓存等信息; - 如果软件能够在较小的基础镜像运行起来建议使用小镜像比如alpine,busybox; - 基于多阶段构建将需要的软件包进行拷贝即可; - 进阶知识 - namespace: 对资源进行隔离包括但不限于: ipc,user,mnt,net,uts,pid.... - chroot: 将程序所在一个目录路径下指定为个目录为根目录。 - cgroup: 对资源限制包括但不限于cpu,memory,disk,... - overlay2 联合文件系统lower(只读)upper(读写)work(临时存储文件)merged(给用户的展示层) - docker 容器相关的命令补充: - docker logs 信息输出到/dev/stderr,/dev/stdout - docker run --restart no: 不重启。 always: ***** 总是重启。 unless-stop: *** 除非重启前容器已经处于退出状态否则也会重启。 on-failure 等效于always。 on-failure:3 表示重启次数达到3次后就不在重启。 - docker网络 - 单机网络 - none 不分配和任何网卡。 - host 和宿主机共享网络空间。效率最高。 - bridge 桥接模式默认模式。会生成一对虚拟网卡。 - container 使用某个已存在容器的网络空间。 - custom 自动以网络。 - 跨主机网络 - overlay 叠加网络。
今日内容: - docker-compose - docker registry - harbor - hub的仓库使用 - prometheus 安装docker-compose: 1.部署docker-compose yum -y install epel-release yum -y install docker-compose 2.查看docker compose的版本 docker-compose version 快速部署: wget http://192.168.11.253/Docker/day05-/softwares/oldboyedu-docker-compose.tar.gz tar xf oldboyedu-docker-compose.tar.gz cd docker-compose yum -y localinstall *.rpm
使用docker-compose批量启动zabbix系统: cat docker-compose.yaml EOF version: 3.3
# 指定网络配置 networks: # 网络名称 zabbix-net: # 配置和IP地址相关的信息 ipam: # 指定驱动若不指定则默认值为default以单点网络为例默认的网络是bridge类型哟~ # driver: default # 指定网络的配置信息 config: # 指定子网 - subnet: 172.30.100.0/24 # 对于gateway参数目前仅有version 2才支持哟~ # gateway: 172.30.100.254 # 给网络打标签 labels: school.oldboyedu.com: 老男孩IT教育 class.oldboyedu.com: Linux80 auther.oldboyedu.com: oldboyedu-linux
# 指定服务配置 services: # 服务的名称 mysql-server: # 指定服务的镜像名称 image: mysql:8.0 # 指定容器的重启策略 restart: always # 向容器传递环境变量 environment: MYSQL_ROOT_PASSWORD: root_pwd MYSQL_DATABASE: zabbix MYSQL_USER: zabbix MYSQL_PASSWORD: zabbix_pwd # 指定网络 networks: - zabbix-net # 容器的启动命令相当于Dockerfile的CMD指令 command: [--character-set-serverutf8, --collation-serverutf8_bin, --default-authentication-pluginmysql_native_password] zabbix-java-gateway: image: zabbix/zabbix-java-gateway:alpine-6.2-latest restart: always networks: - zabbix-net zabbix-server: # 指定服务依赖表示当前依赖于mysql-server服务 depends_on: - mysql-server image: zabbix/zabbix-server-mysql:alpine-6.2-latest restart: always environment: DB_SERVER_HOST: mysql-server MYSQL_DATABASE: zabbix MYSQL_USER: zabbix MYSQL_PASSWORD: zabbix_pwd MYSQL_ROOT_PASSWORD: root_pwd ZBX_JAVAGATEWAY: zabbix-java-gateway networks: - zabbix-net # 指定端口映射,左边的是宿主机的端口右边是容器端口类似于-p选项。 ports: - 10051:10051 zabbix-web-nginx-mysql: depends_on: - zabbix-server image: zabbix/zabbix-web-nginx-mysql:alpine-6.2-latest ports: - 80:8080 restart: always environment: DB_SERVER_HOST: mysql-server MYSQL_DATABASE: zabbix MYSQL_USER: zabbix MYSQL_PASSWORD: zabbix_pwd MYSQL_ROOT_PASSWORD: root_pwd networks: - zabbix-net EOF 创建 docker-compose -f 1111 -p oldboyedu-linux82 up -d 通用选项说明: -f: 指定docker-compose的配置文件若不指定则默认值为docker-compose.yaml或者docker-compose.yml。 -p: 指定项目名称。 up: 启动服务常用选项-d表示后台启动。
docker-compose run zabbix-web-nginx-mysql nginx -t 启动容器时指定命令。类似于docker run他会创建新的容器哟。 删除: docker-compose -f 1111 -p oldboyedu-linux82 down # 删除容器和网络 docker-compose -f 1111 -p oldboyedu-linux82 down -v # 删除匿名存储卷 docker-compose -f 1111 -p oldboyedu-linux82 down -v --rmi # 删除镜像和匿名存储卷 查看: docker-compose ps 查看各个服务的容器信息。 docker-compose ps zabbix-web-nginx-mysql 查看指定服务的容器信息。 docker-compose logs -f zabbix-web-nginx-mysql 查看zabbix-web-nginx-mysql服务的日志 docker-compose top zabbix-web-nginx-mysql 查看zabbix-web-nginx-mysql服务容器的进程信息 docker-compose images 查看服务使用的镜像信息。 docker-compose config 查看docker-compose的配置文件。 其他 docker-compose stop 停止服务 docker-compose start 启动服务。 docker-compose restart 重启服务。 docker-compose build 编译或者重新编译服务镜像。 如果你要执行该命令请必须有build字段该字段内得有Dockefile相关信息。若不指定该字段则会跳过编译
docker-compose结合Dockerfile实战: cat docker-compose.yaml EOF version: 3.3
services: oldboyedu-linux82-docker-compose: image: oldboyedu-linux82-docker-compose:v3.0 # 指定镜像编译的相关参数 build: # 指定上下文表示当前所在的路径便于找到dockerfile context: ./dockerfile # 指定dockerfile的名称 dockerfile: Dockerfile oldboyedu-linux82-docker-compose-2022: image: oldboyedu-linux82-docker-compose:v4.0 build: context: ./dockerfile dockerfile: Dockerfile EOF 今日内容回顾: - 单机编排工具docker-compose - 私有仓库 docker-registry - 企业级私有仓库: harbor - http部署 - https部署 - docker registry --- harbor - 主从复制 - 高可用架构 - 官方镜像仓库: docker hub