- How to install Docker on Amazon Linux 2
- Installing Docker on Amazon Linux 2
- Verification
- Finding status
- Getting version info
- Docker basics for Amazon ECS
- Installing Docker
- Create a Docker image
- Push your image to Amazon Elastic Container Registry
- Clean up
- Migrating to the Docker Amazon Linux 2 Platform
- The docker-compose.yml file
- Additional Migration Considerations
- Migration Steps
- Install docker on Amazon Linux Instance
- How to Install Docker on Amazon Linux Server
How to install Docker on Amazon Linux 2
H ow do I install docker and docker-compose using the yum command on Amazon Linux 2 running on the EC2 or Lightsail cloud instance?
This page explains how to install and test Docker on Amazon Linux 2 over ssh based session.
Tutorial details | |
---|---|
Difficulty level | Easy |
Root privileges | Yes |
Requirements | AMI with Docker |
Est. reading time | 2 minutes |
Installing Docker on Amazon Linux 2
The procedure to install Docker on AMI 2 (Amazon Linux 2) running on either EC2 or Lightsail instance is as follows:
- Login into remote AWS server using the ssh command:
ssh ec2-user@ec2-ip-address-dns-name-here - Apply pending updates:
sudo yum update - Search for Docker package:
sudo yum search docker - Get version information:
sudo yum info docker
Getting Docker version (click to enlarge)
Amazon Linux 2: Iinstall docker command (click to enlarge)
How to install docker-compose in Amazon Linux (click to enlarge)
Verification
Now that both required software installed, we need to make sure it is working. Hence, type the following commands.
Finding status
Get the docker service status on your AMI instance, run:
sudo systemctl status docker.service
Getting version info
See docker version:
docker version
Also verify that docker-compose install was a success on AMI 2 by running the following command:
docker-compose version
Getting docker version on AMI using the ssh client
Источник
Docker basics for Amazon ECS
Docker is a technology that provides the tools for you to build, run, test, and deploy distributed applications that are based on Linux containers. Amazon ECS uses Docker images in task definitions to launch containers as part of tasks in your clusters.
AWS and Docker have collaborated to make a simplified developer experience that enables you to deploy and manage containers on Amazon ECS directly using Docker tools. You can now build and test your containers locally using Docker Desktop and Docker Compose, and then deploy them to Amazon ECS on Fargate. To get started with the Amazon ECS and Docker integration, download Docker Desktop and optionally sign up for a Docker ID. For more information, see Docker Desktop and Docker ID signup .
Docker provides a walkthrough on deploying containers on Amazon ECS. For more information, see Deploying Docker containers on Amazon ECS .
The documentation in this guide assumes that readers possess a basic understanding of what Docker is and how it works. For more information about Docker, see What is Docker? and the Docker overview .
Installing Docker
If you already have Docker installed, skip to Create a Docker image.
Docker Desktop is an easy-to-install application for your Mac or Windows environment that enables you to build and share containerized applications and microservices. Docker Desktop includes Docker Engine, the Docker CLI client, Docker Compose, and other tools that are helpful when using Docker with Amazon ECS. For more information about how to install Docker Desktop on your preferred operating system, see Docker Desktop overview .
If you don’t need a local development environment and you prefer to use an Amazon EC2 instance to use Docker, we provide the following steps to launch an Amazon EC2 instance and install Docker Engine and the Docker CLI.
To install Docker on an Amazon EC2 instance
Launch an instance with the Amazon Linux 2 or Amazon Linux AMI. For more information, see Launching an instance in the Amazon EC2 User Guide for Linux Instances.
Connect to your instance. For more information, see Connect to your Linux instance in the Amazon EC2 User Guide for Linux Instances.
Update the installed packages and package cache on your instance.
Install the most recent Docker Engine package.
Start the Docker service.
Add the ec2-user to the docker group so you can execute Docker commands without using sudo .
Log out and log back in again to pick up the new docker group permissions. You can accomplish this by closing your current SSH terminal window and reconnecting to your instance in a new one. Your new SSH session will have the appropriate docker group permissions.
Verify that the ec2-user can run Docker commands without sudo .
In some cases, you may need to reboot your instance to provide permissions for the ec2-user to access the Docker daemon. Try rebooting your instance if you see the following error:
Create a Docker image
Amazon ECS task definitions use Docker images to launch containers on the container instances in your clusters. In this section, you create a Docker image of a simple web application, and test it on your local system or Amazon EC2 instance, and then push the image to a container registry (such as Amazon ECR or Docker Hub) so you can use it in an Amazon ECS task definition.
To create a Docker image of a simple web application
Create a file called Dockerfile . A Dockerfile is a manifest that describes the base image to use for your Docker image and what you want installed and running on it. For more information about Dockerfiles, go to the Dockerfile Reference .
Edit the Dockerfile you just created and add the following content.
This Dockerfile uses the Ubuntu 18.04 image. The RUN instructions update the package caches, install some software packages for the web server, and then write the «Hello World!» content to the web server’s document root. The EXPOSE instruction exposes port 80 on the container, and the CMD instruction starts the web server.
Build the Docker image from your Dockerfile.
Some versions of Docker may require the full path to your Dockerfile in the following command, instead of the relative path shown below.
Run docker images to verify that the image was created correctly.
Run the newly built image. The -p 80:80 option maps the exposed port 80 on the container to port 80 on the host system. For more information about docker run, go to the Docker run reference .
Output from the Apache web server is displayed in the terminal window. You can ignore the » Could not reliably determine the server’s fully qualified domain name » message.
Open a browser and point to the server that is running Docker and hosting your container.
If you are using an EC2 instance, this is the Public DNS value for the server, which is the same address you use to connect to the instance with SSH. Make sure that the security group for your instance allows inbound traffic on port 80.
If you are running Docker locally, point your browser to http://localhost/ .
If you are using docker-machine on a Windows or Mac computer, find the IP address of the VirtualBox VM that is hosting Docker with the docker-machine ip command, substituting machine-name with the name of the docker machine you are using.
You should see a web page with your «Hello World!» statement.
Stop the Docker container by typing Ctrl + c.
Push your image to Amazon Elastic Container Registry
Amazon ECR is a managed AWS Docker registry service. You can use the Docker CLI to push, pull, and manage images in your Amazon ECR repositories. For Amazon ECR product details, featured customer case studies, and FAQs, see the Amazon Elastic Container Registry product detail pages .
This section requires the following:
You have the AWS CLI installed and configured. If you do not have the AWS CLI installed on your system, see Installing the AWS Command Line Interface in the AWS Command Line Interface User Guide.
Your user has the required IAM permissions to access the Amazon ECR service. For more information, see Amazon ECR managed policies.
To tag your image and push it to Amazon ECR
Create an Amazon ECR repository to store your hello-world image. Note the repositoryUri in the output.
Tag the hello-world image with the repositoryUri value from the previous step.
Run the aws ecr get-login-password command. Specify the registry URI you want to authenticate to. For more information, see Registry Authentication in the Amazon Elastic Container Registry User Guide.
If you receive an error, install or upgrade to the latest version of the AWS CLI. For more information, see Installing the AWS Command Line Interface in the AWS Command Line Interface User Guide.
Push the image to Amazon ECR with the repositoryUri value from the earlier step.
Clean up
When you are done experimenting with your Amazon ECR image, you can delete the repository so you are not charged for image storage.
Источник
Migrating to the Docker Amazon Linux 2 Platform
Amazon Linux 2 platform versions are fundamentally different than Amazon Linux AMI platform versions (preceding Amazon Linux 2). These different platform generations are incompatible in several ways. If you are migrating to an Amazon Linux 2 platform version, be sure to read the information in Migrating your Elastic Beanstalk Linux application to Amazon Linux 2.
You can migrate your applications running on the Multi-container Docker platform on Amazon Linux AMI to the Amazon Linux 2 Docker platform. The Multi-container Docker platform on Amazon Linux AMI requires that you specify prebuilt application images to run as containers. After migrating, you will no longer have this limitation, because the Amazon Linux 2 Docker platform also allows Elastic Beanstalk to build your container images during deployment.
Your applications will continue to run in multi-container environments with the added benefits from the Docker Compose tool. To learn more about Docker Compose and how to install it, see the Docker sites Overview of Docker Compose and Install Docker Compose .
The docker-compose.yml file
The Docker Compose tool uses the docker-compose.yml file for configuration of your application services. This file replaces your Dockerrun.aws.json v2 file in your application project directory and application source bundle. You create the docker-compose.yml file manually, and will find it helpful to reference your Dockerrun.aws.json v2 file for most of the parameter values.
Below is an example of a docker-compose.yml file and the corresponding Dockerrun.aws.json v2 file for the same application. For more information on the docker-compose.yml file, see Compose file reference . For more information on the Dockerrun.aws.json v2 file, see Dockerrun.aws.json v2.
docker-compose.yml | Dockerrun.aws.json v2 | |
---|---|---|
Area | Docker platform on Amazon Linux 2 with Docker Compose | Multi-container Docker platform on Amazon Linux AMI |
---|---|---|