Skip to content

Commit

Permalink
WIP docker container
Browse files Browse the repository at this point in the history
  • Loading branch information
PicoCreator committed Jan 10, 2020
1 parent a6cdbcd commit 71f168d
Show file tree
Hide file tree
Showing 4 changed files with 133 additions and 0 deletions.
35 changes: 35 additions & 0 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
#
# Build the golang imageproxy application
#
FROM golang:1.12.6-alpine3.10 AS builder

# Lets get some useful stiff for building
RUN apk add --no-cache bash git openssh

# Get the image proxy repo
RUN go get willnorris.com/go/imageproxy/cmd/imageproxy

# Double checking that the single binary is installed
RUN ls -alh /go/bin

#
# Lets build the actual container
#
FROM alpine:latest

# Lets add SSL support
RUN apk --no-cache add ca-certificates

# Copy over built file into bin
WORKDIR /bin/
COPY --from=builder /go/bin/imageproxy .

# Set workdir to /tmp/
WORKDIR /tmp/

# Debug checker
RUN imageproxy --help || true

# Default entry starts the server at port 80
ENTRYPOINT [ "imageproxy" ]
CMD [ "-addr", "localhost:80" ]
6 changes: 6 additions & 0 deletions docker-dev-build.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
#!/bin/bash

docker stop $(docker ps -a | grep $(basename "$PWD") | awk '{print $1}');
docker rm $(docker ps -a | grep $(basename "$PWD") | awk '{print $1}');
docker build -t $(basename "$PWD") . &&
docker run -d -P --name $(basename "$PWD") $(basename "$PWD");
54 changes: 54 additions & 0 deletions docker-notes.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
# Docker build process

## inside the respective folder (eg: ./ssh/)
docker build -t {tagname} .
docker build -t $(basename "$PWD") .

## running the build
docker run -d -P --name {tagname} {container_name}
docker run -d -P --name $(basename "$PWD") $(basename "$PWD")

-d : detach mode
-P : auto publish all ports
-e : set env key=value pairs

## adding listener port
docker port containername XPortNum

# Useful command chains

## build, run
docker build -t $(basename "$PWD") . && docker run -d -P --name $(basename "$PWD") $(basename "$PWD");

## nuke all, build, run
docker rm $(docker ps -a -q); docker build -t $(basename "$PWD") . && docker run -d -P --name $(basename "$PWD") $(basename "$PWD");

## stop all, nuke all, build, run
docker stop $(docker ps -aq); docker rm $(docker ps -a -q); docker build -t $(basename "$PWD") . && docker run -d -P --name $(basename "$PWD") $(basename "$PWD");

# Stop current "basename", Nuke it, Build it, Run it
```
docker stop $(docker ps -a | grep $(basename "$PWD") | awk '{print $1}');
docker rm $(docker ps -a | grep $(basename "$PWD") | awk '{print $1}');
docker build -t $(basename "$PWD") . &&
docker run -d -P --name $(basename "$PWD") $(basename "$PWD");
```

Or as a single line

`docker stop $(docker ps -a | grep $(basename "$PWD") | awk '{print $1}'); docker rm $(docker ps -a | grep $(basename "$PWD") | awk '{print $1}'); docker build -t $(basename "$PWD") . && docker run -d -P --name $(basename "$PWD") $(basename "$PWD");`

# Docker commands

## Delete all containers
docker rm $(docker ps -a -q)
## Delete all images
docker rmi $(docker images -q)


# ENTRYPOINT vs CMD

- ENTRYPOINT is runs WITH cmd,
- CMD is commonly overwritten by user
- Technically user can overwrite ENTRYPOINT with additional command "flags"
- Final executed command : ENTRYPOINT CMD
38 changes: 38 additions & 0 deletions dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
FROM node:12-alpine AS ui-build


# #
# # Build the golang imageproxy application
# #
# FROM golang:1.12.6-alpine3.10 AS builder

# # Lets get some useful stiff for building
# RUN apk add --no-cache bash git openssh

# # Get the image proxy repo
# RUN go get willnorris.com/go/imageproxy/cmd/imageproxy

# # Double checking that the single binary is installed
# RUN ls -alh /go/bin

# #
# # Lets build the actual container
# #
# FROM alpine:latest

# # Lets add SSL support
# RUN apk --no-cache add ca-certificates

# # Copy over built file into bin
# WORKDIR /bin/
# COPY --from=builder /go/bin/imageproxy .

# # Set workdir to /tmp/
# WORKDIR /tmp/

# # Debug checker
# RUN imageproxy --help || true

# # Default entry starts the server at port 80
# ENTRYPOINT [ "imageproxy" ]
# CMD [ "-addr", "localhost:80" ]

0 comments on commit 71f168d

Please sign in to comment.