1.上传项目到服务器
1.1 本地打包(war包
)上传
或者通过maven命令打包
1 2
| mvn clean 清楚产生的项目 mvn package -Dmaven.test.skip=true 打包不测试
|
1.2 上传到代码仓库,服务器拉取,编译
添加.gitignore
文件过滤不需要上传的文件
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
| target/ !.mvn/wrapper/maven-wrapper.jar
### STS ### .apt_generated .classpath .factorypath .project .settings .springBeans
### IntelliJ IDEA ### .idea *.iws *.iml *.ipr
### JRebel ### rebel.xml
### MAC ### .DS_Store
### Other ### logs/ temp/
|
add
本地仓库缓存区—>commit
提交到本地仓库—>push
到远程仓库
添加maven环境,打包
2. 打包上传到本地镜像库
2.1 构建本地镜像
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
| 进入到上传文件的目录 cd usr/local/docker
新建images文件夹 mkdir images
进入到targer目录 cd targer
进入到my-shop-web-admin-1.0.0-SNAPSHOT目录 cd my-shop-web-admin-1.0.0-SNAPSHOT
打成tar包,构建Dockerfile时ADD命令会自动解压.gz文件 tar -czvf myshop.tar.gz .
myshop.tar.gz移动到images文件夹中 mv myshop.tar.gz ../../images
cd ../../images
|
2.2 新建Dockerfile文件
1 2
| touch Dockerfile vim Dockerfile
|
文件内容为
1 2 3 4 5 6 7 8 9
| FROM tomcat FROM 指定此docker需要依赖的docker image, WORKDIR /usr/local/tomcat/webapps/ROOT 工作空间
RUN rm -rf * 分层执行shell操作
ADD myshop.tar.gz /usr/local/tomcat/webapps/ROOT 添加本地文件到远程目录下
WORKDIR /usr/local/tomcat 切换工作空间
|
2.3 打包(Dockerfile目录下执行)
1 2 3 4 5
| docker build -t 172.16.0.194:8082/myshop .
-t 参数是指定此镜像的tag名 172.16.0.194:8082/myshop:表示镜像库的ip与端口 . :表示Dockerfile文件在当前目录
|
2.4 查看本地镜像
2.5 提交镜像到仓库
1
| docker push 172.16.0.194:8082/myshop
|
注意: 执行上面操作时必须配置 Docker Registry 客户端。
2.6 配置 Docker Registry 客户端
我使用的是 Ubuntu Server 16.04 LTS 版本,属于 systemd 系统,需要在 /etc/docker/daemon.json 中增加如下内容(如果文件不存在请新建该文件)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| { "registry-mirrors": [ "https://registry.docker-cn.com", "http://hub-mirror.c.163.com", "https://pee6w651.mirror.aliyuncs.com" ], "insecure-registries": [ "ip:5000" ] }
# registry-mirrors:国内镜像加速器 # insecure-registries: 用于识别服务端 (192.168.40.136:5000)服务端
|
注意:该文件必须符合 json 规范,否则 Docker 将不能启动。
之后重新启动服务。
1 2 3
| systemctl daemon-reload
systemctl restart docker
|
2.6.1 检查客户端配置是否生效
使用 docker info
命令手动检查,如果从配置中看到如下内容,说明配置成功(192.168.75.133 为我的 IP)
1 2 3 4 5 6 7 8 9
| Labels: Experimental: false Insecure Registries: 192.168.40.136:5000 127.0.0.0/8 Registry Mirrors: https://registry.docker-cn.com/ http://hub-mirror.c.163.com/ https://pee6w651.mirror.aliyuncs.com/
|
3 拉取远程库镜像
新建docker-compose.yml
文件,内容为
1 2 3 4 5 6 7 8
| version: '3.1' services: myshop: restart: always image: 172.16.0.194:8082/myshop_admin container_name: myshop_admin ports: - 8084:8080
|
3.1 启动容器
1
| docker-compose up -d 以守护态后台启动
|
4. 访问网站
直接浏览器访问: http://172.16.0.194:8084/