war包
)上传或者通过maven命令打包
mvn clean 清楚产生的项目
mvn package -Dmaven.test.skip=true 打包不测试
添加.gitignore
文件过滤不需要上传的文件
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
到远程仓库
进入到上传文件的目录
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
touch Dockerfile
vim Dockerfile
文件内容为
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 切换工作空间
docker build -t 172.16.0.194:8082/myshop .
-t 参数是指定此镜像的tag名
172.16.0.194:8082/myshop:表示镜像库的ip与端口
. :表示Dockerfile文件在当前目录
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-G2OBr2re-1623743790633)(http://cdn.panyucable.cn/zysheep/docker5.png)]
docker images
docker push 172.16.0.194:8082/myshop
注意: 执行上面操作时必须配置 Docker Registry 客户端。
我使用的是 Ubuntu Server 16.04 LTS 版本,属于 systemd 系统,需要在 /etc/docker/daemon.json 中增加如下内容(如果文件不存在请新建该文件)
{
"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 将不能启动。
之后重新启动服务。
systemctl daemon-reload
systemctl restart docker
使用 docker info
命令手动检查,如果从配置中看到如下内容,说明配置成功(192.168.75.133 为我的 IP)
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/
新建docker-compose.yml
文件,内容为
version: '3.1'
services:
myshop:
restart: always
image: 172.16.0.194:8082/myshop_admin
container_name: myshop_admin
ports:
- 8084:8080
docker-compose up -d 以守护态后台启动