更新实例上已安装的程序包和程序包缓存
sudo yum update -y安装最新的 Docker Community Edition 程序包
sudo amazon-linux-extras install docker启动 Docker 服务
sudo service docker start(可选)将 ec2-user 添加到 docker 组,以便能够执行 Docker 命令,而无需使用 sudo。
sudo usermod -a -G docker ec2-user退出当前ssh会话,重新连接,新 SSH 会话将具有相应的 docker 组权限。
验证在无sudo情况下运行docker命令
docker infoDockerfile内容为创建一个Apache的网页,显示Hello World!
FROM ubuntu:18.04 # Install dependencies RUN apt-get update && \ apt-get -y install apache2 # Install apache and write hello world message RUN echo 'Hello World!' > /var/www/html/index.html # Configure apache RUN echo '. /etc/apache2/envvars' > /root/run_apache.sh && \ echo 'mkdir -p /var/run/apache2' >> /root/run_apache.sh && \ echo 'mkdir -p /var/lock/apache2' >> /root/run_apache.sh && \ echo '/usr/sbin/apache2 -D FOREGROUND' >> /root/run_apache.sh && \ chmod 755 /root/run_apache.sh EXPOSE 80 CMD /root/run_apache.sh从Dockerfile构建映像
docker build -t hello-world .运行 docker images 以验证是否已正确创建映像
docker images --filter reference=hello-world构建成功则输出:
运行新构建的映像,-p 80:80 选项将容器上公开的端口 80 映射到主机系统上的端口 80。将EC2ip复制到浏览器,页面出现Hello World!则表示构建成功。
docker run -t -i -p 80:80 hello-world在自己的用户下创建访问秘钥
aws conifgure输入秘钥信息 查看cli版本
aws --version1)使用 1.17.10 之前的 AWS CLI 版本时,使用 get-login 命令进行 Amazon ECR 注册表进行身份验证。(region替换为自己的region)
aws ecr get-login --region region --no-include-email结果输出是 docker login 命令,将 docker login 命令复制并粘贴到终端,授权 Docker CLI 访问注册表。此命令提供一个授权令牌,此令牌在 12 小时内对指定注册表有效。 2)使用 1.17.10 之后的 AWS CLI 版本时,使用 get-login-password 针对 Amazon ECR 注册表验证 Docker。
aws ecr get-login-password --region region | docker login --username AWS --password-stdin aws_account_id.dkr.ecr.region.amazonaws.com标记映像,以便将映像推送到存储库
docker tag hello-world:latest aws_account_id.dkr.ecr.us-east-1.amazonaws.com/hello-world:latest docker push 374284294913.dkr.ecr.cn-northwest-1.amazonaws.com.cn/ggg:latest控制台刷新,出现自己刚刚推送的映像,推送成功
