根据需要启动想要的EC2
注意
:选择Linux时用x86而不是arm,不然kafka和zookeeper启动不了(在我的项目里)
并且bitnami/zookeeper:latest需要内存超过一个G,但我目前看到的free-tier没有2G的内存,因此只好花钱升级
1、登录(Xshell)
使用public-key
默认用户名:ec2-user
用户密钥选择 .pem文件即可
2、安装docker
更新源
sudo yum update -y
安装docker
sudo amazon-linux-extras install docker
如果是Amazon Linux 2023,没有amazon-linux-extras,则直接yum
sudo yum install docker
启动docker服务
sudo service docker start
如果需要instance重启还自动启动docker,则用如下
sudo systemctl enable docker
但其实没必要,因为一般我们会删除instance,不然即便是stop了,还是会为存储付费
把当前ec2-user加入group,这样不用sudo时才不会permission denied
sudo usermod -a -G docker ec2-user
当然这句使用后得重新登录下刷新当前配置
现在语句便能正常执行
[ec2-user@ip-172-31-49-242 ~]$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
[ec2-user@ip-172-31-49-242 ~]$ docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
3、安装docker-compose
下载最新版
sudo curl -L https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m) -o /usr/local/bin/docker-compose
给执行文件权限
sudo chmod +x /usr/local/bin/docker-compose
查看版本
docker-compose version
4、用Xftp 6把node的文件拷贝到EC2
或者上传到github,然后在EC2里pull repo,安装git
sudo yum install -y git
5、按项目需求启动docker
如有需要,去EC2的Network & Security的Security Groups下开启inbound的http或https
以及custom TCP开启指定端口