今天尝试用容器搭建一个较为完整的应用
1、拉取nginx的镜像,映射网络端口
采用后台运行的方式,开放主机的8080端口映射到容器的80端口上
docker run -d -p 8080:80 nginx
看下主机8080端口开了吗
netstat -na | grep 8080
打开了,那么访问主机的8080端口即可访问到容器的nginx
*btw,如果不指定端口,-p参数改成-P,[docker run -d -P nginx],那么会随机给你分一个端口,如下:
这时候访问主机的55001端口即可访问到容器的nginx
我们访问0.0.0.0:8080试试看:
2、部署app
拉取tomcat镜像
编写Dockerfile
vim Dockerfile
保证Dockerfile和war在同一目录下,然后make成镜像
docker build -t appmolly:latest .
docker images看下,现在有appmolly这个镜像了,可以用这个镜像创造容器了
docker run -d -p 8080:8080 appmolly
3、用容器运行一个mysql
先和之前一样,拉取mysql的镜像,然后按照如下运行一个容器
docker run -itd --name mysql_test -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql
docker ps一下,获取id,然后再进入容器内
docker exec -it 80969ffd66a8 /bin/bash
进去后,和本地mysql应用一样登陆,输入密码:
可在容器内正常使用mysql