• 微信公众号:美女很有趣。 工作之余,放松一下,关注即送10G+美女照片!

[AWS] Lab: Docker and CodeCommit Part 1

开发技术 开发技术 2周前 (04-06) 8次浏览

Overview

[AWS] Lab: Docker and CodeCommit Part 1

Create IAM User with CodeCommit Access

[AWS] Lab: Docker and CodeCommit Part 1

[AWS] Lab: Docker and CodeCommit Part 1

 

Configure local AWS user

aws configure

 

HTTPS Git credentials for AWS CodeCommit

[AWS] Lab: Docker and CodeCommit Part 1

 

Create CodeCommit Repo

[AWS] Lab: Docker and CodeCommit Part 1

 

  • Clone the Repo by using HTTPS
  • Copy Dockerfile and buildspec.yml to your local repo

Dockerfile

FROM ubuntu:12.04
# Install dependencies
RUN apt-get update -y
RUN apt-get install -y apache2

# Install apache and write hello world message
RUN echo "Helloo Cloud Gurus!!!! This web page is running in a Docker container!" > /var/www/index.html


# Configure apache
RUN a2enmod rewrite
RUN chown -R www-data:www-data /var/www
ENV APACHE_RUN_USER www-data
ENV APACHE_RUN_GROUP www-data
ENV APACHE_LOG_DIR /var/log/apache2

EXPOSE 80

CMD ["/usr/sbin/apache2", "-D",  "FOREGROUND"]

 

buildspec.yml

version: 0.2

#env:
#variables:
# key: "value"
# key: "value"
#parameter-store:
# key: "value"
# key: "value"

phases:
  install:
    commands:
      - nohup /usr/local/bin/dockerd --host=unix:///var/run/docker.sock --host=tcp://127.0.0.1:2375 --storage-driver=overlay2&
      - timeout 15 sh -c "until docker info; do echo .; sleep 1; done"
  pre_build:
    commands:
      - echo Logging in to Amazon ECR....
      - aws --version
      # update the following line with your own region
      - aws ecr get-login-password --region us-east-1 | docker login --username AWS --password-stdin xxxx.dkr.ecr.us-east-1.amazonaws.com
  build:
    commands:
      - echo Build started on `date`
      - echo Building the Dockeroo image...
      # update the following line with the name of your own ECR repository
      - docker build -t mydockerrepo .
      # update the following line with the URI of your own ECR repository (view the Push Commands in the console)
      - docker tag mydockerrepo:latest xxxx.dkr.ecr.us-east-1.amazonaws.com/mydockerrepo:latest
  post_build:
    commands:
      - echo Build completed on `date`
      - echo pushing to repo
      # update the following line with the URI of your own ECR repository
      - docker push xxxx.dkr.ecr.us-east-1.amazonaws.com/mydockerrepo:latest
#artifacts:
# - location
# - location
#discard-paths: yes
#base-directory: location
#cache:
#paths:
# - paths

  

 

  • Push files to remote CodeCommit repo

[AWS] Lab: Docker and CodeCommit Part 1

 

Next, we are going to create a Elastic Container Service to able to run our Docker image.

 

Create ECS

[AWS] Lab: Docker and CodeCommit Part 1

 

[AWS] Lab: Docker and CodeCommit Part 1

 

Once it successed, you should be able to see your cluster:

[AWS] Lab: Docker and CodeCommit Part 1

 

Create Repositories

[AWS] Lab: Docker and CodeCommit Part 1

 

  • Give a name for your repo, for example: `mydockerrepo`
  • Click button “View Push Commands”

[AWS] Lab: Docker and CodeCommit Part 1

 

When you run the first command, you will get Auth Error, what you need to is add permission to your created user

 

Add Permisson for User

[AWS] Lab: Docker and CodeCommit Part 1

 

  • Run the “View Push Commands” again, you will see “Login Successed”
  • Build Docker image
  • Tag Docker image
  • Push Docker image

[AWS] Lab: Docker and CodeCommit Part 1

  • Click “Copy URI” in last image, we need to use it later

Launch Docker Container

  • Go to Task Definitions
  • [AWS] Lab: Docker and CodeCommit Part 1
  • Give a name `mytaskdef`
  • [AWS] Lab: Docker and CodeCommit Part 1
  • Click “Add Container”
  • [AWS] Lab: Docker and CodeCommit Part 1
  • “image” is the URI that we just copy

 

  • Create a Service

[AWS] Lab: Docker and CodeCommit Part 1

  • Launch Type should be “EC2”
  • Service name: “myservice”
  • Number of tasks: 1
  • Rest should be default

You should see service has reached a stead state

[AWS] Lab: Docker and CodeCommit Part 1

 

  • Go back to “Cluster” -> “myCluster” -> “EC2 instance” -> Copy “IPV4 public address” -> Open in Broswer
  • [AWS] Lab: Docker and CodeCommit Part 1

 

Contiue with Part2, using CodeBuild


程序员灯塔
转载请注明原文链接:[AWS] Lab: Docker and CodeCommit Part 1
喜欢 (0)