Docker Compose
λ©ν° 컨ν
μ΄λ νκ²½
git clone https://github.com/youngwjung/to-do.git && cd to-docat <<EOF | tee frontend/Dockerfile FROM nginx:alpine COPY . /usr/share/nginx/html EOFdocker image build -t frontend frontend/docker container run --name frontend -d -p 8080:80 frontendecho "$(curl -s ifconfig.io):8080"cat <<'EOF' | tee frontend/Dockerfile FROM nginx:alpine COPY . /usr/share/nginx/html ARG API_ENDPOINT RUN sed -i 's/localhost:9000/'"$API_ENDPOINT"'/g' /usr/share/nginx/html/js/main.js EOFdocker image build --no-cache -t frontend \ --build-arg API_ENDPOINT=$(curl -s ifconfig.io):9000 \ frontend/{ docker container rm frontend --force docker container run --name frontend -d -p 8080:80 frontend }cat <<EOF | tee api/Dockerfile FROM golang:1.20-alpine as builder WORKDIR /app COPY go.mod go.sum ./ RUN go mod download COPY *.go ./ RUN go build -o /api FROM alpine RUN mkdir /app WORKDIR /app COPY --from=builder /api /app/api EXPOSE 9000 CMD ["/app/api"] EOFdocker image build -t api api/docker container run --name api -d -p 9000:9000 apidocker container ls -adocker logs apidocker container run --name mysql -d -p 3306:3306 \ -e MYSQL_ROOT_PASSWORD=asdf1234 mysql:5.7mysql -h 127.0.0.1 -u root -pasdf1234 < database/schema.sql{ docker container rm api --force docker container run --name api -d -p 9000:9000 \ -e DATABASE_HOST=$(docker container inspect mysql --format '{{.NetworkSettings.IPAddress}}') \ -e DATABASE_PASSWORD=asdf1234 \ api }docker logs apidocker container run --name redis -d redis{ docker container rm api --force docker container run --name api -d -p 9000:9000 \ -e DATABASE_HOST=$(docker container inspect mysql --format '{{.NetworkSettings.IPAddress}}') \ -e DATABASE_PASSWORD=asdf1234 \ -e REDIS_HOST=$(docker container inspect redis --format '{{.NetworkSettings.IPAddress}}') \ api }docker container lsaws ec2 authorize-security-group-ingress \ --group-id $(aws ec2 describe-security-groups \ --filters Name=group-name,Values=$(curl -s http://169.254.169.254/latest/meta-data/security-groups) \ --query "SecurityGroups[0].GroupId" --output text) \ --protocol tcp \ --port 9000 \ --cidr 0.0.0.0/0 \ --output text{ docker container rm $(docker container ls -aq) --force docker image prune --all --force docker volume prune --force cd ~/environment }
Docker Compose
Last updated