1.编写Dockerfile文件
FROM java:8
COPY target/*.jar /app.jar
CMD ["--server.port=8080"]
EXPOSE 8080 #(暴露的端口号,需要与—server.port的端口号一致)
ENTRYPOINT ["java","-jar","/app.jar"]
2.新建文件目录:mkdir 当前目录下新建文件夹名/子目录
3.在含有Dockerfile和jar包目录下生成镜像:docker build -t 镜像名称 . (最后有个.代表dockerfile)
4.停止所有在运行的容器,在win中需要PowerShell执行:docker stop $(docker ps -aq)
5.查看所有容器:docker ps -a
6.查看运行中的容器:docker ps
7.查看本地已拉的镜像:docker images
8.在后台启动容器:docker run -d -p 8080主机端口:8080容器内jar使用的端口 --name 容器名称 镜像名称
9.问题cannot stop container : 使用命令sudo aa-remove-unknown
aa-remove-unknown将清点/etc/apparmor.d/中的所有配置文件,将该列表与当前加载到内核中的配置文件进行比较,然后删除/etc/apparmor.d/中未找到的所有已加载配置文件。 它还将报告在标准输出时删除的每个配置文件的名称
10.后台启动容器不指定主机端口:docker run -d -P —name 容器名称 镜像名称
11.启动容器:docker start 容器名称或者容器id
12.重启容器:docker restart 容器名称或者容器id
13.删除文件:rm -f
14.复制1.jar文件到另一个目录/home/demo下: cp /home/1.jar /home/demo/
15.删除镜像:docker rmi 镜像id
16.删除容器:docker rm 容器id
17.查看容器网络:docker inspect 容器名
18.查看docker网络:docker network ls
19.创建自定义网桥:docker network create --subnet=172.18.0.0/16 网桥名
20.删除无效的none镜像:docker rmi $(docker images -f "dangling=true" -q)
21.保存镜像为zip包:docker save -o E:\service.zip service:v1
22.在服务器中加载zip包为镜像:docker load -i /mnt/hgfs/sharevm/service.zip
23.拷贝:docker cp 容器名:要拷贝的文件在容器里面的路径 要拷贝到宿主机的相应路径
24.进入容器内部:
(sudo)docker exec -i -t 容器名称 /bin/bash (退出输入 exit)
25.在后台启动容器时使用时区:docker run -d -p 8080主机端口:8080容器内jar使用的端口 -e TZ=Asia/Shanghai --name 容器名称 镜像名称