大家的数据库之类的开发环境都是安装在哪的呢?平时开发用的数据库有时候回家还想要用一下,就需要远程到公司的电脑把数据库导出来,然后将文件下载到家里的电脑并导入家里电脑的数据库里,着实麻烦,或者选择内网穿透或虚拟局域网的方式,直接连通公司的电脑,但这样极不安全,而且公司一般禁止内网穿透。所以想着用云服务器搭建常用的开发环境,公司和家里都可以连接。

亚马逊注册可以领取试用多种免费套餐,各位可以直接领取数据库资源来使用或者领取服务器自己搭建,本文基于Amazon EC2服务器资源,使用Docker快速搭建开发环境。

账号注册

亚马逊云科技 https://www.amazonaws.cn/ 是亚马逊中国区域,注册目前只面向法人,需上传营业执照,个人注册可以使用亚马逊海外区域,AWS 云服务-(amazon.com)

打开AWS海外页面,点击右上角注册,创建跟用户,输入邮件地址和账户名称,然后按照提示一步一步输入内容。

创建跟用户,输入邮箱地址和账户名称
输入密码
填写地址信息,需要使用英文
需要添加VISA信用卡或其他卡
验证手机号

领取实例

账号注册完成后,右上角区域选择需要的区域,我这里选择的是新加坡。服务 中选择 计算-EC2。然后启动实例,选择系统镜像和配置,如果使用免费套餐,请一定要看好配置是否满足免费套餐的需求。

对照免费套餐要求
可以新加卷,加在一起不超过免费套餐的30G即可

可以直接在浏览器连接到实例登录,通过 sudo passwd ubuntu 修改ubuntu用户的密码,之后可使用自己常用的SSH连接工具连接,在创建过程中如果创建了私有密钥文件,还需要配置pem私钥文件。

建议使用上面的命令同时修改一下root用户的密码,还可以自己创建账户,使用自己创建的账户进行后续操作。

配置并安装Docker

参照Docker官网文档,依次执行下列命令,安装Docker

# Add Docker's official GPG key:
sudo apt-get update
sudo apt-get install ca-certificates curl gnupg
sudo install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
sudo chmod a+r /etc/apt/keyrings/docker.gpg

# Add the repository to Apt sources:
echo \
  "deb [arch="$(dpkg --print-architecture)" signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
  "$(. /etc/os-release && echo "$VERSION_CODENAME")" stable" | \
  sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update

sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

安装好后docker命令是需要root权限运行的,可以执行一下下面的命令,将当前用户添加到docker用户组中,这样在执行docker命令的时候就不需要使用sudo了。

#将登陆用户加入到docker用户组中
sudo gpasswd -a $USER docker
#更新用户组
newgrp docker

Docker常用命令

Docker部署开发环境

Docker部署MySQL

docker pull mysql:latest

#-v挂载的地址需要更换到自己的地址,MYSQL_ROOT_PASSWORD密码也需要对应修改到自己需要的地址
docker run -p 3306:3306 --name mysql -v /home/ubuntu/program/docker/mysql/conf:/etc/mysql/conf.d -v /home/ubuntu/program/docker/mysql/data:/var/lib/mysql -v /home/ubuntu/program/docker/mysql/logs:/var/log/mysql -e MYSQL_ROOT_PASSWORD=adminpasswd -d mysql:latest

需要在安全组规则中放行相应的端口,才可以在外网访问。

Docker部署Portainer

部署一个Docker的图形界面,有的时候操作更方便一些。

docker run -d -p 9000:9000 -v /var/run/docker.sock:/var/run/docker.sock --name prtainer portainer/portainer-ce

Docker部署Redis

docker run -p 6379:6379 --name redis -v /home/ubuntu/program/docker/redis/conf:/etc/redis -v /home/ubuntu/program/docker/redis/data:/data -d redis redis-server /etc/redis/redis.conf --appendonly yes

其他

Docker可以部署的应用很多,推荐个仓库,可以直接运行部署很多常见的环境。docker-compose: 通过docker-compose编排一系列环境进行一键快速部署运行,小白运维神器。 (gitee.com)