docker安装mysql
mysql最稳定的版本是5.7,所以我们这里使用docker安装mysql5.7。
1.下载镜像
docker pull mysql:5.7
2.运行容器
docker run -p 3306:3306 --name mysql -v /root/mysql/conf:/etc/mysql/conf.d -v /root/mysql/logs:/logs -v /root/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=***** -d mysql:5.7
MYSQL_ROOT_PASSWORD
为root用户的密码。
-v
是将文件或者目录挂载进容器
运行docker ps
如果有mysql,说明成功,可以通过mysql的图形化管理工具,通过3306端口连接测试。
docker安装tomcat
问题
在使用docker安装tomcat时发现,虽然安装好tomcat了,但是使用ip+端口形式访问tomcat,不能显示默认的页面。即下图的页面:
原因
原来是在docker安装的tomcat在8.0.52版本之后,默认移除了默认显示的页面(webapps下的文件是空的),所以这里我们安装tomcat8.0.52.
安装
1.下载镜像
docker pull tomcat:8.0.52`webapps`
2.运行容器
docker run -p 8080:8080 --name tomcat -v /usr/local/dockerApp/tomcat/webapps/test:/usr/local/tomcat/webapps/test --restart=always -d tomcat:8.0.52
--restart=always
代表开机自启动容器。
将/usr/local/dockerApp/tomcat/webapps/test
挂载在容器里,这样在test下面的静态资源就可以直接被访问,通过ip:端口/test
就可以访问。同理test
可以灵活修改。
如果直接挂载webapps
,应该需要将容器内webapps
的内容复制进挂载目录,否则可能导致访问不到。
docker安装nginx
1.下载镜像
docker pull nginx
这里不加版本,默认下载最新版本
2.运行容器
docker run -p 80:80 --name nginx -v /data/nginx/conf/nginx.conf:/etc/nginx/nginx.conf -v /data/nginx/logs:/var/log/nginx --restart=always -d nginx
将nginx的配置文件和日志文件挂载到容器里。