Docker 使用记录

准备工作

  1. linux服务器一台
  2. ssh工具一个(主要用登录linux)
  3. 获取该服务器root权限
  4. 耐心

环境搭建

登录服务器

1. ssh -p 22 root@服务器地址
2. 输入密码登录

docker环境搭建

  1. 更新终端

$ sudo apt-get update

  1. 安装CA证书,支持Https:

$ sudo apt-get install \ apt-transport-https \ ca-certificates \ curl \ software-properties-common

  1. .添加一个官方的GPG密钥:

$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -

  1. 验证密钥指纹:

$ sudo apt-key fingerprint 0EBFCD88
输出的是:9DC8 5822 9FC7 DD38 854A E2D8 8D81 803C 0EBF CD88 即正确。

  1. 下载amd64的官方最新稳定版Docker:

$ sudo add-apt-repository \ "deb [arch=amd64] https://download.docker.com/linux/ubuntu \ $(lsb_release -cs) \ stable"

  1. 再次更新包信息

$ sudo apt-get update

  1. 安装Docker CE版本:

$ sudo apt-get install docker-ce

  1. 启动docker

$ sudo service docker start

tomcat 环境搭建

  1. 查找服务器上的docker

docker search tomcat

star最多的一个就行

  1. 下载镜像到docker中

docker pull tomcat

  1. 查看所有的镜像

docker images

docker安装的镜像
4 启动tomcat

`docker run -p 8081:8080 tomcat:latest # 若端口被占用,可以指定容器和主机的映射端口 前者是外围访问端口:后者是容器内部端口

-p 表示端口号,前一个8081是指我们访问tomcat时的端口号,
后一个8080是tomcat启动的一个容器在docker中运行的端口号,
指定端口号为了更明确的访问tomcat。
tomcat:last last是指定的tomcat的标签,相同的镜像可以指定不同的标签以做区分。

  1. 查看docker下所有正在运行的容器

docker ps

  1. 外网环境访问,具体的访问路径以不同的服务器:端口为准

项目部署

  1. 准备工作
    1.1准备一个静态的页面或者包含静态页面文件夹
    1.2 准备一个JavaWeb项目打包成war包的文件
  2. 本地文件上传到服务器

通常从本地系统上传到linux上,一般采用 scp 命令。如果你愿意的话你可以在linux上创建几个目录专门用于存放用本地上传的文件路径

返回 linux 系统
mkdir data

单文件 `scp 本地文件全路径  root@服务器地址:/data`
文件夹 `scp -r 本地文件全路径  root@服务器地址:/data`

在Tomcat中部署静态页面

  1. 在tomcat 中如果存放静态页面 默认的路径 应该是在 tomcat/webapps/ROOT下
  2. 如果 tomcat在执行应该先停止
    2.1 查看正在运行的容器

docker ps

容器的编号

docker stop 容器的编号

每一个正在运行的容器都有这样的一个编号,后续进入容器环境里面 都需要这个编号 ,下面就是介绍通过 exec 命令查看容器tomcat里面的项目

docker exec -it 容器编号 /bin/bash

  1. 对于静态文件的部署 最好使用 挂载的方式(-v 挂载宿主机配置文件)(docker容器处理项目文件路径的一种方式),因为容器里面修改文件都是暂时的,还有就是容器停止后或者重启后 所有的项目都丢失了,具体看看docker的官方建议

docker run -d -v /data/temp:/usr/local/tomcat/webapps/ROOT -p 8081:8080 tomcat:latest

建议测试环境都用这种方式

在Tomcat中部署web项目

  1. 在tomcat 中如果存放静态页面 默认的路径 应该是在 tomcat/webapps下
  2. 利用挂在的方式将外部文件放到容器tomcat中

docker run -d -v /data/demo.war:/usr/local/tomcat/webapps/demo.war -p 8081:8080 tomcat:latest

这里面的 data/demo.war ,data是自己在前面创建的目录;

在生产环境中部署项目

官网的建议是创建一个DockerFIle去替换,这应该是最好的方式,但是却不在今天的文章中(具体的可以参考其他人的博客或者看官网的资料),改天再研究哈;

收工!

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐