Commit 08f5209b authored by O'Reilly Media, Inc.'s avatar O'Reilly Media, Inc.
Browse files

Initial commit

parents
Loading
Loading
Loading
Loading
+7 −0
Changes for Advanced Containerization - Working Files/Chapter 1/No Work Files.rtf: 7 added lines, 0 removed lines.
Original line number Diff line number Diff line
{\rtf1\ansi\ansicpg1252\cocoartf1038\cocoasubrtf350
{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
{\colortbl;\red255\green255\blue255;}
\margl1440\margr1440\vieww9000\viewh8400\viewkind0
\pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\ql\qnatural\pardirnatural

\f0\fs24 \cf0 No work files for this lesson...}
 No newline at end of file
+4 −0
Changes for Advanced Containerization - Working Files/Chapter 2/Dockerfile: 4 added lines, 0 removed lines.
Original line number Diff line number Diff line
FROM debian:jessie

RUN mkdir /vol && touch /vol/file1
VOLUME /vol
+48 −0
Changes for Advanced Containerization - Working Files/Chapter 2/cgroups-memory.c: 48 added lines, 0 removed lines.
Original line number Diff line number Diff line
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>

long long readLongFile(char *file) {
	FILE *f = fopen(file, "r");
	if (!f) {
		return -1;
	}

	char buffer[30]; // enough to contain "9223372036854771712" (20 chars) with some give
	size_t bytes = fread(buffer, sizeof(*buffer), sizeof(buffer), f);

	fclose(f);

	if (bytes < 1) {
		return -1;
	}

	buffer[bytes] = 0;
	return atoll(buffer);
}

void printMemUsage() {
	double usage = readLongFile("/sys/fs/cgroup/memory/memory.usage_in_bytes") / 1024.0 / 1024.0;
	double limit = readLongFile("/sys/fs/cgroup/memory/memory.limit_in_bytes") / 1024.0 / 1024.0;
	printf("current usage within memory cgroup: %.02f MB / %.02f MB\n", usage, limit);
}

void forceMalloc(size_t bytes) {
	printf("malloc: %zu MB", bytes / 1024 / 1024);
	size_t ints = bytes / sizeof(int);
	int *ptr = malloc(bytes);
	size_t i;
	for (i = 0; i < ints; ++i) {
		ptr[i] = rand();
	}
	printf("\n");
}

int main() {
	printMemUsage(); // ~ 0 MB
	forceMalloc(100 * 1024 * 1024);
	printMemUsage(); // ~ 100 MB
	forceMalloc(100 * 1024 * 1024);
	printMemUsage(); // ~ 200 MB
	return 0;
}
+15 −0
Changes for Advanced Containerization - Working Files/Chapter 2/docker-compose.yml: 15 added lines, 0 removed lines.
Original line number Diff line number Diff line
version: '2'
services:
  wordpress_db:
    image: mariadb
    environment:
      MYSQL_ROOT_PASSWORD: password
  wordpress:
    depends_on:
      - wordpress_db
    image: wordpress
    ports:
      - 8080:80
    environment:
      WORDPRESS_DB_HOST: wordpress_db
      WORDPRESS_DB_PASSWORD: password
+108 KiB

File added.

No diff preview for this file type.

Loading