1、yum方式安装docker
1.1、更新yum
sudo yum update
- 1
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-oSZZJkFZ-1595320958222)(/Users/mac/Documents/csdn草稿/Linux/docker/image-20200717104345159.png)]](/image/aHR0cHM6Ly9pbWctYmxvZy5jc2RuaW1nLmNuLzIwMjAwNzIxMTY0MzQwNjc4LnBuZz94LW9zcy1wcm9jZXNzPWltYWdlL3dhdGVybWFyayx0eXBlX1ptRnVaM3BvWlc1bmFHVnBkR2ssc2hhZG93XzEwLHRleHRfYUhSMGNITTZMeTlpYkc5bkxtTnpaRzR1Ym1WMEwxTm9ZWEo1YkdGc1lRPT0sc2l6ZV8xNixjb2xvcl9GRkZGRkYsdF83MA==.png)
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-4t7bpxem-1595320958222)(/Users/mac/Documents/csdn草稿/Linux/docker/image-20200717104354453.png)]](/image/aHR0cHM6Ly9pbWctYmxvZy5jc2RuaW1nLmNuLzIwMjAwNzIxMTY0MzU4NzAucG5nP3gtb3NzLXByb2Nlc3M9aW1hZ2Uvd2F0ZXJtYXJrLHR5cGVfWm1GdVozcG9aVzVuYUdWcGRHayxzaGFkb3dfMTAsdGV4dF9hSFIwY0hNNkx5OWliRzluTG1OelpHNHVibVYwTDFOb1lYSjViR0ZzWVE9PSxzaXplXzE2LGNvbG9yX0ZGRkZGRix0Xzcw.png)
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-eEHafcLo-1595320958223)(/Users/mac/Documents/csdn草稿/Linux/docker/image-20200717105951444.png)]](/image/aHR0cHM6Ly9pbWctYmxvZy5jc2RuaW1nLmNuLzIwMjAwNzIxMTY0NDEzODM3LnBuZz94LW9zcy1wcm9jZXNzPWltYWdlL3dhdGVybWFyayx0eXBlX1ptRnVaM3BvWlc1bmFHVnBkR2ssc2hhZG93XzEwLHRleHRfYUhSMGNITTZMeTlpYkc5bkxtTnpaRzR1Ym1WMEwxTm9ZWEo1YkdGc1lRPT0sc2l6ZV8xNixjb2xvcl9GRkZGRkYsdF83MA==.png)
(更新时间,我这次大概用了二十分钟)
1.2、yum方式安装docker
yum install docker
- 1
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-SbiCAVan-1595320958224)(/Users/mac/Documents/csdn草稿/Linux/docker/image-20200717111120098.png)]](/image/aHR0cHM6Ly9pbWctYmxvZy5jc2RuaW1nLmNuLzIwMjAwNzIxMTY0NDMxODQxLnBuZz94LW9zcy1wcm9jZXNzPWltYWdlL3dhdGVybWFyayx0eXBlX1ptRnVaM3BvWlc1bmFHVnBkR2ssc2hhZG93XzEwLHRleHRfYUhSMGNITTZMeTlpYkc5bkxtTnpaRzR1Ym1WMEwxTm9ZWEo1YkdGc1lRPT0sc2l6ZV8xNixjb2xvcl9GRkZGRkYsdF83MA==.png)
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-fV6D3isx-1595320958225)(/Users/mac/Documents/csdn草稿/Linux/docker/image-20200717111131662.png)]](/image/aHR0cHM6Ly9pbWctYmxvZy5jc2RuaW1nLmNuLzIwMjAwNzIxMTY0NDQ2MzI4LnBuZz94LW9zcy1wcm9jZXNzPWltYWdlL3dhdGVybWFyayx0eXBlX1ptRnVaM3BvWlc1bmFHVnBkR2ssc2hhZG93XzEwLHRleHRfYUhSMGNITTZMeTlpYkc5bkxtTnpaRzR1Ym1WMEwxTm9ZWEo1YkdGc1lRPT0sc2l6ZV8xNixjb2xvcl9GRkZGRkYsdF83MA==.png)
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ey6KUDQ4-1595320958226)(/Users/mac/Documents/csdn草稿/Linux/docker/image-20200717111314870.png)]](/image/aHR0cHM6Ly9pbWctYmxvZy5jc2RuaW1nLmNuLzIwMjAwNzIxMTY0NTAwMTM0LnBuZz94LW9zcy1wcm9jZXNzPWltYWdlL3dhdGVybWFyayx0eXBlX1ptRnVaM3BvWlc1bmFHVnBkR2ssc2hhZG93XzEwLHRleHRfYUhSMGNITTZMeTlpYkc5bkxtTnpaRzR1Ym1WMEwxTm9ZWEo1YkdGc1lRPT0sc2l6ZV8xNixjb2xvcl9GRkZGRkYsdF83MA==.png)
1.3、查看版本
docker -v
- 1
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-6U1DCn3U-1595320958227)(/Users/mac/Documents/csdn草稿/Linux/docker/image-20200717111425849.png)]](/image/aHR0cHM6Ly9pbWctYmxvZy5jc2RuaW1nLmNuLzIwMjAwNzIxMTY0NTE0NzU4LnBuZw==.png)
2、简单使用
2.1、启动docker服务
我用的systemctl start docker启动的,如下启动命令是我网上找的
sudo service docker start systemctl start docker service docker start
- 1
- 2
- 3
关闭docker命令systemctl stop docker
2.2、创建tomcat镜像
2.2.1、查看可用版本
docker search tomcat
- 1
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-PSYUroSJ-1595320958228)(/Users/mac/Documents/csdn草稿/Linux/docker/image-20200721100102512.png)]](/image/aHR0cHM6Ly9pbWctYmxvZy5jc2RuaW1nLmNuLzIwMjAwNzIxMTY0NTQ0NTY5LnBuZz94LW9zcy1wcm9jZXNzPWltYWdlL3dhdGVybWFyayx0eXBlX1ptRnVaM3BvWlc1bmFHVnBkR2ssc2hhZG93XzEwLHRleHRfYUhSMGNITTZMeTlpYkc5bkxtTnpaRzR1Ym1WMEwxTm9ZWEo1YkdGc1lRPT0sc2l6ZV8xNixjb2xvcl9GRkZGRkYsdF83MA==.png)
2.2.2、拉取镜像
docker pull tomcat
- 1
报错:
error pulling image configuration: Get https://production.cloudflare.docker.com/registry-v2/docker/registry/v2/blobs/sha256![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Cisybwa7-1595320958229)(/Users/mac/Documents/csdn草稿/Linux/docker/image-20200721100539795.png)]](/image/aHR0cHM6Ly9pbWctYmxvZy5jc2RuaW1nLmNuLzIwMjAwNzIxMTY0NjExNzUxLnBuZz94LW9zcy1wcm9jZXNzPWltYWdlL3dhdGVybWFyayx0eXBlX1ptRnVaM3BvWlc1bmFHVnBkR2ssc2hhZG93XzEwLHRleHRfYUhSMGNITTZMeTlpYkc5bkxtTnpaRzR1Ym1WMEwxTm9ZWEo1YkdGc1lRPT0sc2l6ZV8xNixjb2xvcl9GRkZGRkYsdF83MA==.png)
解决方式:
在/etc/resolv.conf文件中添加nameserver 8.8.8.8。
若原本就有nameserver就删掉,重写成nameserver 8.8.8.8。(反正reboot后,nameserver会还原的,不用担心会出啥问题。)![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-JPkDypdy-1595320958229)(/Users/mac/Documents/csdn草稿/Linux/docker/image-20200721104947565.png)]](/image/aHR0cHM6Ly9pbWctYmxvZy5jc2RuaW1nLmNuLzIwMjAwNzIxMTY0NjQ3Njg2LnBuZw==.png)
而后service docker restart![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-kaYq7Ojc-1595320958230)(/Users/mac/Documents/csdn草稿/Linux/docker/image-20200721104853028.png)]](/image/aHR0cHM6Ly9pbWctYmxvZy5jc2RuaW1nLmNuLzIwMjAwNzIxMTY0NzA4OTA5LnBuZz94LW9zcy1wcm9jZXNzPWltYWdlL3dhdGVybWFyayx0eXBlX1ptRnVaM3BvWlc1bmFHVnBkR2ssc2hhZG93XzEwLHRleHRfYUhSMGNITTZMeTlpYkc5bkxtTnpaRzR1Ym1WMEwxTm9ZWEo1YkdGc1lRPT0sc2l6ZV8xNixjb2xvcl9GRkZGRkYsdF83MA==.png)
而后docker pull tomcat![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-6tziiwZ5-1595320958231)(/Users/mac/Documents/csdn草稿/Linux/docker/image-20200721105327961.png)]](/image/aHR0cHM6Ly9pbWctYmxvZy5jc2RuaW1nLmNuLzIwMjAwNzIxMTY0NzMxMzk0LnBuZz94LW9zcy1wcm9jZXNzPWltYWdlL3dhdGVybWFyayx0eXBlX1ptRnVaM3BvWlc1bmFHVnBkR2ssc2hhZG93XzEwLHRleHRfYUhSMGNITTZMeTlpYkc5bkxtTnpaRzR1Ym1WMEwxTm9ZWEo1YkdGc1lRPT0sc2l6ZV8xNixjb2xvcl9GRkZGRkYsdF83MA==.png)
至此问题解决。
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-SZI3NcF8-1595320958232)(/Users/mac/Documents/csdn草稿/Linux/docker/image-20200721105447531.png)]](/image/aHR0cHM6Ly9pbWctYmxvZy5jc2RuaW1nLmNuLzIwMjAwNzIxMTY0NzU4NTc3LnBuZw==.png)
2.2.3、启动tomcat镜像
查看docker所有镜像docker images
因为服务器本身有的tomcat服务端口是8080,为避免端口冲突,所以启动tomcat镜像命令用的docker run -d -p 8081:8080 tomcat。
(docker run -d -p 8081:8080 tomcat命令相当于docker里面是8080端口,对于服务器而言是8081端口)
(docker相当于一个容器,docker里面的端口和服务器的端口是独立的。)
(所以,直接服务器ip:8080是访问不到docker的tomcat镜像的,要用服务器ip:8081。)
(若是中转服务器上部署的服务,那么当用浏览器访问的时候,要看当前“服务器IP:端口”对应的暴露给外部的url是多少。)
查看容器日志docker logs -f 容器id![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-OAPWRfR8-1595320958233)(/Users/mac/Documents/csdn草稿/Linux/docker/image-20200721135637073.png)]](/image/aHR0cHM6Ly9pbWctYmxvZy5jc2RuaW1nLmNuLzIwMjAwNzIxMTY0ODE3MTEwLnBuZz94LW9zcy1wcm9jZXNzPWltYWdlL3dhdGVybWFyayx0eXBlX1ptRnVaM3BvWlc1bmFHVnBkR2ssc2hhZG93XzEwLHRleHRfYUhSMGNITTZMeTlpYkc5bkxtTnpaRzR1Ym1WMEwxTm9ZWEo1YkdGc1lRPT0sc2l6ZV8xNixjb2xvcl9GRkZGRkYsdF83MA==.png)
关闭容器命令docker stop 容器id
2.2.4、搞点项目进tomcat镜像看下效果
进入tomcat镜像docker exec -it 容器id /bin/bash
(docker启动的tomcat镜像,访问对应tomcat页面看不到猫,因为webapps里面什么文件都没有。所以你什么都访问不到。可以用cp命令或mv命令,将别的tomcat的webapps复制粘贴到tomcat镜像里,就能看见猫了。)![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-5qbZ1JQs-1595320958234)(/Users/mac/Documents/csdn草稿/Linux/docker/image-20200721153308714.png)]](/image/aHR0cHM6Ly9pbWctYmxvZy5jc2RuaW1nLmNuLzIwMjAwNzIxMTY0ODQ5ODM3LnBuZz94LW9zcy1wcm9jZXNzPWltYWdlL3dhdGVybWFyayx0eXBlX1ptRnVaM3BvWlc1bmFHVnBkR2ssc2hhZG93XzEwLHRleHRfYUhSMGNITTZMeTlpYkc5bkxtTnpaRzR1Ym1WMEwxTm9ZWEo1YkdGc1lRPT0sc2l6ZV8xNixjb2xvcl9GRkZGRkYsdF83MA==.png)
挂载
1.传个war包到服务器上
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-GLjLmTkV-1595320958235)(/Users/mac/Documents/csdn草稿/Linux/docker/image-20200721154537821.png)]](/image/aHR0cHM6Ly9pbWctYmxvZy5jc2RuaW1nLmNuLzIwMjAwNzIxMTY0OTA5NDgwLnBuZw==.png)
2.在容器都没用的情况下删除容器
docker stop $(docker ps -aq)docker rm $(docker ps -aq)
3.挂载
docker run -d --name tomcat -p 8081:8080 -v /home/test:/usr/local/tomcat/webapps tomcat![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-0zeoy4Sw-1595320958235)(/Users/mac/Documents/csdn草稿/Linux/docker/image-20200721160420767.png)]](/image/aHR0cHM6Ly9pbWctYmxvZy5jc2RuaW1nLmNuLzIwMjAwNzIxMTY0OTMzODk5LnBuZz94LW9zcy1wcm9jZXNzPWltYWdlL3dhdGVybWFyayx0eXBlX1ptRnVaM3BvWlc1bmFHVnBkR2ssc2hhZG93XzEwLHRleHRfYUhSMGNITTZMeTlpYkc5bkxtTnpaRzR1Ym1WMEwxTm9ZWEo1YkdGc1lRPT0sc2l6ZV8xNixjb2xvcl9GRkZGRkYsdF83MA==.png)
4.查看tomcat镜像下有没有war包了
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Rgt1Z0s0-1595320958236)(/Users/mac/Documents/csdn草稿/Linux/docker/image-20200721160614429.png)]](/image/aHR0cHM6Ly9pbWctYmxvZy5jc2RuaW1nLmNuLzIwMjAwNzIxMTY0OTUzMzc5LnBuZz94LW9zcy1wcm9jZXNzPWltYWdlL3dhdGVybWFyayx0eXBlX1ptRnVaM3BvWlc1bmFHVnBkR2ssc2hhZG93XzEwLHRleHRfYUhSMGNITTZMeTlpYkc5bkxtTnpaRzR1Ym1WMEwxTm9ZWEo1YkdGc1lRPT0sc2l6ZV8xNixjb2xvcl9GRkZGRkYsdF83MA==.png)
5.浏览器查看效果
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-LYZTQT1Y-1595320958237)(/Users/mac/Documents/csdn草稿/Linux/docker/image-20200721161401993.png)]](/image/aHR0cHM6Ly9pbWctYmxvZy5jc2RuaW1nLmNuLzIwMjAwNzIxMTY1MTA2Mzc4LnBuZz94LW9zcy1wcm9jZXNzPWltYWdlL3dhdGVybWFyayx0eXBlX1ptRnVaM3BvWlc1bmFHVnBkR2ssc2hhZG93XzEwLHRleHRfYUhSMGNITTZMeTlpYkc5bkxtTnpaRzR1Ym1WMEwxTm9ZWEo1YkdGc1lRPT0sc2l6ZV8xNixjb2xvcl9GRkZGRkYsdF83MA==.png)
