aws ec2 docker 部署


又折腾了好久才部署上去,不偷懒,记下来。

 

1. 在EC2的安全组里设置入站、出站的端口、ip、协议等,确保实例应用了新添加的安全组规则

 

2. 启动数据库container, 命名为db

sudo docker run --name db mongo

 

3. 根据Dockerfile,生成网站的image

sudo docker build -t web_image .

-t 设置这个image的名字

 

4. 启动web container

sudo docker run -d --name web -p 80:8000 --link db:mongo web_image

-d 表示后台运行,换成-it则进入interactive模式

-p 端口映射

--link 连接web和db这两个container,注意这里是db:mongo,所以connectionUrl需要是mongodb://mongo:27017/dbName

 

==================== UPDATES ==========================

When it comes to mysql image

sudo docker pull mysql

Must specify an initial root password. Since containers are isolated, if you want to have access to files (e.g. sql scripts) outside the container, you need to mount them.

sudo docker run --name my_sql_container -e MYSQL_ROOT_PASSWORD=my_initial_password --mount type=bind,source="$(pwd)",target=/data -d mysql

Then you can access files under the current directory through /data in this container.

And again, in the code where db connection is created, use 'mysql' as the host name, NOT 'localhost'.

 

 

export database into sql file

mysqldump -u root -p db_name > file_name.sql

 

run sql script to populate database (in mysql), make sure you have created the database and used it.

source file_name.sql

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM