一:docker部署mysql
1.啟動(dòng)
docker run --name test-mysql -p 33066:3306 -e MYSQL_ROOT_PASSWORD=123456 -d mysql
--name 后面的是docker容器名
-p 33066:3306 這里需要注意 `33066` 是你**鏈接mysql的時(shí)候的`Port`眷柔。**
-e MYSQL_ROOT_PASSWORD 是設(shè)置mysql的root賬號(hào)密碼
-d mysql 是你的鏡像標(biāo)簽
2.shell操作
docker exec -it test-mysql bash
root@23289a387666u5:/#
mysql -uroot -p123456
二:docker部署tomcat
docker run -d -p 8083:8080 tomcat?? 8083是宿主機(jī)端口,8080是docker的虛擬端口
docker部署web項(xiàng)目:
方式1:
??? 1.啟動(dòng)tomcat容器:docker run -d -p 8083:8080 --name myweb tomcat
?? 2.在宿主機(jī)創(chuàng)建/docker_file文件夾齐板,獲取war包
??? 3.復(fù)制war包到tomcat容器內(nèi):docker cp /docker_file/xxx.war myweb:/usr/local/tomcat/webapps
?? 4.重啟myweb:docker restart myweb
?注意:如果要設(shè)置部署的web項(xiàng)目contextpath為/
??????????? 1.docker cp myweb:/usr/local/tomcat/conf/server.xml /docker_file/
?????????? 2.vi /docker_file/server.xml
?????????????????? 在<host></host>標(biāo)簽中添加<Context path="" docBase="/usr/local/tomcat/webapps/myProjectName"? debug="0" reloadable="true"></Context> 即可
??????????? 3.docker exec -it myweb /bin/bash
? ? ? ? ? ? 4.cd conf ? 并 rm -rf server.xml
? ? ? ? ? ?? 5.exit退容器,docker cp /docker_file/server.xml myweb:/usr/local/tomcat/conf/即可
? ? ? ? ? ?? 6.docker restart myweb
方式二: ?? docker run -d -p 8083:8080 --name myweb -v /docker_file/web.war:/usr/local/tomcat/webapps/web.war tomcat
前兩種方式一旦掛機(jī)或進(jìn)程停止消返,設(shè)置的文件都會(huì)失效线脚,適用于測(cè)試環(huán)境
方式三:創(chuàng)建自己的鏡像,固化(適合生產(chǎn)環(huán)境
我自己創(chuàng)建鏡像的目的是把war包固化到tomcat容器中瞧哟,并設(shè)置contextpath為/
1.mkdir DockerFile? 并在當(dāng)前文件夾下準(zhǔn)備所需要的文件(server.xml,web.war)
2.vi DockerFile
??? 具體內(nèi)容:
???????????? from tomcat?
???????????? MAINTAINER 2311759904@qq.com
???????????? RUN rm -rf /usr/local/tomcat/webapps/*
??????????? COPY web.war /usr/local/tomcat/webapps/
??????????? RUN rm -rf /usr/local/tomcat/conf/server.xml
??????????? COPY server.xml /usr/local/tomcat/conf/
??????????? ENV TZ=Asia/Shanghai
?????????? RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
3.構(gòu)建新的鏡像
?docker build --file DockerFile -t=myProject:v1 .
注意:最后加.? ,不然報(bào) "docker build" requires exactly 1 argument.
4.docker ps可查看是否新增鏡像