docker创建容器运行jar包
第一次写,有问题请留言。
1.创建Docfile文件
FROM java:8
EXPOSE 5060
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/home/hsy/data/app.jar"]
注意“/home/hsy/data/app.jar”,“/home/hsy/data/”此路径为绝对路径,就是运行此路径下的app.jar文件。
2、制作镜像。
docker build -t eurekaclient:1.0.0 .
注意后面的 . 不能省略
3、安装docker-compose(使用docker-compose管理配置)并创建docker-compose.yml文件。
安装docker-compose,运行命令:
sudo curl -L "https://get.daocloud.io/docker/compose/releases/download/1.24.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
给docker-compose执行权限,运行命令:
chmod +x /usr/local/bin/docker-compose
给docker-compose执行权限,运行命令:
chmod +x /usr/local/bin/docker-compose
运行如下命令,正确显示版本,则安装完成
docker-compose --version
docker-compose.yml配置如下
version: '3'
services:
my-client:
image: eurekaclient:1.0.0
restart: always
ports:
- "5060:5060"
networks:
- front-my
environment:
- "TZ=Asia/Shanghai"
privileged: true
container_name: client
volumes:
- $PWD/data:/home/hsy/data
networks:
front-my:
driver: bridge
4.在docker-compose.yml文件所在目录下创建文件夹data,并将app,jar放入data中即可
[root@localhost demo]# ls
data docker-compose.yml Dockerfile
5.运行容器
[root@localhost demo]# docker-compose up -d
Creating client ... done
6.docker-compose 常用命令
默认情况下命令会读取名为 docker-compose.yml 或 docker-compose.yaml 的文件。
-
docker-compose up
用于部署一个 Compose 应用。
当然用户也可以使用 -f 指定其他文件名。通常情况下,会使用 -d 参数令应用在后台启动。 -
docker-compose stop
停止 Compose 应用相关的所有容器,但不会删除它们。
被停止的应用可以很容易地通过 docker-compose restart 命令重新启动。 -
docker-compose rm
用于删除已停止的 Compose 应用。
它会删除容器和网络,但是不会删除卷和镜像。 -
docker-compose restart
重启已停止的 Compose 应用。
如果用户在停止该应用后对其进行了变更,那么变更的内容不会反映在重启后的应用中,这时需要重新部署应用使变更生效。 -
docker-compose ps
用于列出 Compose 应用中的各个容器。
输出内容包括当前状态、容器运行的命令以及网络端口。
- docker-compose down
停止并删除运行中的 Compose 应用。
它会删除容器和网络,但是不会删除卷和镜像。