Docker教程 (yiibai.com)
Introduction · 深入浅出Docker (qicoder.com)
Docker run reference | Docker Documentation
镜像
image 管理镜像
Commands:
build Build an image from a Dockerfile
history Show the history of an image
import Import the contents from a tarball to create a filesystem image
inspect Display detailed information on one or more images
load Load an image from a tar archive or STDIN
ls List images
prune Remove unused images
pull Pull an image or a repository from a registry
push Push an image or a repository to a registry
rm Remove one or more images
save Save one or more images to a tar archive (streamed to STDOUT by default)
tag Create a tag TARGET_IMAGE that refers to SOURCE_IMAGE
DockerFile
Docker Dockerfile | 菜鸟教程 (runoob.com)
build 使用 Dockerfile 创建镜像
docker build [OPTIONS] PATH | URL | -
-t 镜像的名字及标签,通常 name:tag 或者 name 格式;可以在一次构建中为一个镜像设置多个标签。
--network 默认 default。在构建期间设置RUN指令的网络模式
--rm 设置镜像成功后删除中间容器;
--build-arg=[] 设置镜像创建时的变量;
-f 指定要使用的Dockerfile路径;
--label=[] * 设置镜像使用的元数据;
-m 设置内存最大值;
--pull 尝试去更新镜像的新版本;
-q 安静模式,成功后只输出镜像 ID;
--disable-content-trust 忽略校验,默认开启;
--squash 将 Dockerfile 中所有的操作压缩为一层。
tag 为指定镜像添加标签
docker tag SOURCE_IMAGE[:TAG] TARGET_IMAGE[:TAG]
push 将本地的镜像上传到镜像仓库
docker push [OPTIONS] NAME[:TAG]
Push an image or a repository to a registry
--disable-content-trust 忽略镜像的校验,默认开启
image rm Remove one or more images
docker image rm [OPTIONS] IMAGE [IMAGE...]
-f Force removal of the image
image prune 删除所有未被 tag 标记和未被容器使用的镜像
docker image prune [OPTIONS]
-a 删除所有未被容器使用的镜像
-f
inspect 获取容器/镜像的元数据
docker inspect [OPTIONS] NAME|ID [NAME|ID...]
-f 指定返回值的模板文件。
-s 显示总的文件大小。
--type 为指定类型返回JSON
history 查看指定镜像的创建历史
docker history [OPTIONS] IMAGE
-H 以可读的格式打印镜像大小和日期,默认为true;
--no-trunc 显示完整的提交记录;
-q 仅列出提交记录ID。
save 将指定镜像保存成 tar 归档文件
docker save [OPTIONS] IMAGE [IMAGE...]
-o 输出到的文件
load 导入使用 docker save导出的镜像
docker load [OPTIONS]
-i 指定导入的文件,代替 STDIN。
-q 精简输出信息
import 从归档文件中创建镜像
docker import [OPTIONS] file|URL|- [REPOSITORY[:TAG]]
Import the contents from a tarball to create a filesystem image
-c 应用docker 指令创建镜像;
-m 提交时的说明文字
容器
ctrl p q 退出容器
commit 从容器创建一个新的镜像
docker commit [OPTIONS] CONTAINER [REPOSITORY[:TAG]]
-a 提交的镜像作者
-c 使用Dockerfile指令来创建镜像
-m 提交时的说明文字
-p 在commit时,将容器暂停
container create 创建新的容器但不启动
docker container create [OPTIONS] IMAGE [COMMAND] [ARG...]
-a stdin 指定标准输入输出内容类型,可选 STDIN/STDOUT/STDERR 三项;
-d 后台运行容器,并返回容器ID;
-i 以交互模式运行容器,通常与 -t 同时使用;
-P 随机端口映射,容器内部端口**随机**映射到主机的端口
-p 指定端口映射,格式为:主机(宿主)端口:容器端口
-t 为容器重新分配一个伪输入终端,通常与 -i 同时使用;
--name="nginx-lb" 为容器指定一个名称;
-h "mars" 指定容器的hostname;
-e username="ritchie" 设置环境变量;
--env-file=[] 从指定文件读入环境变量;
--net="bridge" 指定容器的网络连接类型,支持 bridge/host/none/container: 四种类型;
--link=[] 添加链接到另一个容器;
--expose=[] 开放一个端口或一组端口;
-v 绑定一个卷
run 创建一个新的容器并运行一个命令
docker run [OPTIONS] IMAGE [COMMAND] [ARG...]
-a stdin 指定标准输入输出内容类型,可选 STDIN/STDOUT/STDERR 三项;
-d 后台运行容器,并返回容器ID;
-i 以交互模式运行容器,通常与 -t 同时使用;
-p 指定端口映射,格式为:主机(宿主)端口:容器端口
-t 为容器重新分配一个伪输入终端,通常与 -i 同时使用;
--name="nginx-lb" 为容器指定一个名称;
--restart 重启策略
[docker 容器重启策略 - sixinshuier - 博客园 (cnblogs.com)]
(https://www.cnblogs.com/shix0909/p/11387185.html)
-h "mars" 指定容器的hostname;
-e, --env list Set environment variables (default [])
--env-file=[] 从指定文件读入环境变量;
--network string Connect a container to a network (default "default")
--net="bridge" 指定容器的网络连接类型,支持 bridge/host/none/container: 四种类型
-v 将一个卷或主机文件夹挂载到容器文件夹,格式 hostpath:containerpath
start 启动已经被停止的容器
docker start [OPTIONS] CONTAINER [CONTAINER...]
-a 在前台运行容器并输出日志
-i 启动并进入交互模式
restart
docker restart [OPTIONS] CONTAINER [CONTAINER...]
-t 在杀死容器之前等待停止的秒数(默认值为 10)
pause 暂停容器中所有的进程
docker pause CONTAINER [CONTAINER...]
container prune 删除所有已停止的容器
docker container prune [OPTIONS]
f Do not prompt for confirmation
stop
docker stop [OPTIONS] CONTAINER [CONTAINER...]
-t 在杀死它之前等待停止的秒数(默认10)
rm
docker rm [OPTIONS] CONTAINER [CONTAINER...]
f 通过 SIGKILL 信号强制删除一个运行中的容器
l 移除容器间的网络连接,而非容器本身
v 删除与容器关联的卷
kill 杀掉一个运行中的容器
docker kill [OPTIONS] CONTAINER [CONTAINER...]
s 向容器发送一个信号
attach 连接到正在运行中的容器
docker attach [OPTIONS] CONTAINER
连接后控制台是否为交互模式取决于启动容器时的参数
docker exec 在运行的容器中执行一条命令
docker exec [OPTIONS] CONTAINER COMMAND [ARG...]
d 分离模式: 在后台运行
i 即使没有附加也保持STDIN 打开
t 分配一个伪终端
e Set environment variables (default [])
u Username or UID (format: <name|uid>[:<group|gid>])
cp 用于容器与主机之间的数据拷贝
docker cp [OPTIONS] CONTAINER:SRC_PATH DEST_PATH|-
docker cp [OPTIONS] SRC_PATH|- CONTAINER:DEST_PATH
-a Archive mode (copy all uid/gid information)
-L 保持源目标中的链接
diff 检查容器里文件结构的更改
docker diff CONTAINER
export 将文件系统作为一个tar归档文件导出到STDOUT
docker export [OPTIONS] CONTAINER
o 将输入内容写到文件
inspect 获取容器/镜像的元数据
docker inspect [OPTIONS] NAME|ID [NAME|ID...]
f 指定返回值的模板文件。
s 显示总的文件大小。
type 为指定类型返回JSON
logs 获取容器的日志
docker logs [OPTIONS] CONTAINER
f 跟踪日志输出
since 显示某个开始时间的所有日志
t 显示时间戳
tail 仅列出最新N条容器日志
container ls
docker container ls [OPTIONS]
Options:
a
q Only display numeric IDs
s Display total file sizes
port 列出指定的容器的端口映射
docker port CONTAINER [PRIVATE_PORT[/PROTO]]
rename 重命名目标容器
docker rename CONTAINER NEW_NAME
stats 显示容器资源的使用情况
docker stats [OPTIONS] [CONTAINER...]
-a 显示所有的容器,包括未运行的。
--format 指定返回值的模板文件。
--no-stream 展示当前状态就直接退出了,不再实时更新。
--no-trunc 不截断输出
top 显示容器的运行进程
docker top CONTAINER [ps OPTIONS]
unpause 恢复容器中所有的进程
docker unpause CONTAINER [CONTAINER...]
update 更新容器配置
docker update [OPTIONS] CONTAINER [CONTAINER...]
--blkio-weight uint16 Block IO (relative weight), between 10 and 1000, or 0 to disable (default 0)
--cpu-period int Limit CPU CFS (Completely Fair Scheduler) period
--cpu-quota int Limit CPU CFS (Completely Fair Scheduler) quota
--cpu-rt-period int Limit the CPU real-time period in microseconds
--cpu-rt-runtime int Limit the CPU real-time runtime in microseconds
-c int CPU shares (relative weight)
--cpuset-cpus string CPUs in which to allow execution (0-3, 0,1)
--cpuset-mems string MEMs in which to allow execution (0-3, 0,1)
--help Print usage
--kernel-memory string Kernel memory limit
-m string Memory limit
--memory-reservation string Memory soft limit
--memory-swap string Swap limit equal to memory plus swap: '-1' to enable unlimited swap
--restart string Restart policy to apply when a container exits
volume
docker volume
docker volume COMMAND
Commands:
create Create a volume
inspect Display detailed information on one or more volumes
ls List volumes
prune Remove all unused volumes
rm Remove one or more volumes
volumn create 新增卷
docker volume create [OPTIONS] [VOLUMENAME]
-d 指定卷驱动程序(default "local")
--label list 设置卷的元数据(default [])
-o 设置特定于驱动程序的选项 (default map[])
volume inspect 显示一个或多个卷的详细信息
docker volume inspect [OPTIONS] VOLUME [VOLUME...]
ls 显示卷列表
docker volume ls [OPTIONS]
-q 只显示卷名
volume prune 移除所有未使用卷
docker volume prune [OPTIONS]
-f
volume rm 移除卷
docker volume rm [OPTIONS] VOLUME [VOLUME...]
-f
Docker 网络
connect 将容器连接到网络
docker network connect [OPTIONS] NETWORK CONTAINER
--alias stringSlice Add network-scoped alias for the container
--ip string IP Address
--ip6 string IPv6 Address
--link list Add link to another container (default [])
--link-local-ip stringSlice Add a link-local address for the container
network create
docker network create [OPTIONS] NETWORK
--attachable 启用手动容器安装
--aux-address 网络驱动程序使用的辅助IPv4或IPv6地址
-d 驱动程序管理网络
--gateway 用于主子网的IPv4或IPv6网关
--internal 限制对网络的外部访问
--ip-range 从子范围分配容器ip
--ipam-driver IP地址管理驱动程序
--ipam-opt 设置IPAM驱动程序的具体选项
--ipv6 启用IPv6网络
--label 在网络上设置元数据
-o 设置驱动程序特定选项
--subnet 表示网段的CIDR格式的子网
network disconnect 切断容器与网络连接
docker network disconnect [OPTIONS] NETWORK CONTAINER
-f
network inspect 显示网络信息
docker network inspect [OPTIONS] NETWORK [NETWORK...]
-f
network ls 网络列表
docker network ls [OPTIONS]
-f filter Provide filter values (e.g. 'driver=bridge')
--format string Pretty-print networks using a Go template
--no-trunc 不截断输出
-q 只显示网络id
network prune 移除所有未使用网络
docker network prune [OPTIONS]
-f
network rm
docker network rm NETWORK [NETWORK...]
DockerCompose
Docker Compose | 菜鸟教程 (runoob.com)
docker-compose.yml 配置文件编写详解
docker-compose.yml的详细解释与说明
docker-compose.yml详解
Docker Swarm
Swarm 集群管理 | 菜鸟教程 (runoob.com)
浅析Docker Stack常用命令、Docker Compose和Docker Stack区别及Docker Stack部署web集群流程
swarm init 初始化一个群集
此命令所针对 Docker 引擎成为新创建的单节点群集中的管理器。
docker swarm init [OPTIONS]
--advertise-addr (格式:<ip/interface>[:port])
--autolock 启用管理员自动锁定(需要解锁键启动停止的管理器),默认false
--cert-expiry 节点证书的有效期( ns/us/ms/s/m/h )
--dispatcher-heartbeat 调度心跳周期( ns/us/ms/s/m/h )
--external-ca 一个或多个证书签名端点的规范
--force-new-cluster 强制从当前状态创建一个新的群集(Swarm),默认false
--listen-addr 监听地址(格式:<ip / interface> [:port]),默认0.0.0.0:2377
--max-snapshots 要保留的额外的筏子快照数量
--snapshot-interval 筏子快照之间的日志条目数
--task-history-limit 任务历史保留限制
swarm join加入群组
docker swarm join [OPTIONS] HOST:PORT
--advertise-addr 播发地址(格式:<ip / interface> [:port]))
--listen-addr 监听地址(格式:<ip / interface> [:port]),默认0.0.0.0:2377
--token 加入群组的令牌
swarm join-token 管理连接令牌
docker swarm join-token [OPTIONS] (worker|manager)
-q 只显示令牌
--rotate 旋转连接令牌
swarm leave 离开集群
docker swarm leave [OPTIONS]
-f 强制此节点离开群集,忽略警告
docker swarm英文文档学习-11-上锁你的集群来保护你的加密密钥 - 慢行厚积
swarm unlock 解锁群组。
docker swarm unlock
swarm unlock-key 命令用于管理解锁钥匙。
docker swarm unlock-key [OPTIONS]
-q 只显示令牌
--rotate 旋转解锁键
swarm update 更新集群
docker swarm update [OPTIONS]
--autolock Change manager autolocking setting (true|false)
--cert-expiry duration Validity period for node certificates (ns|us|ms|s|m|h) (default 2160h0m0s)
--dispatcher-heartbeat duration Dispatcher heartbeat period (ns|us|ms|s|m|h) (default 5s)
--external-ca external-ca Specifications of one or more certificate signing endpoints
--max-snapshots uint Number of additional Raft snapshots to retain
--snapshot-interval uint Number of log entries between Raft snapshots (default 10000)
--task-history-limit int Task history retention limit (default 5)
service 在集群中使用容器
docker service与docker container的区别
service create 创建一个新服务
一般在集群中使用
docker service create [OPTIONS] IMAGE [COMMAND] [ARG...]
--constraint list Placement constraints (default [])
--container-label list Container labels (default [])
--dns list Set custom DNS servers (default [])
--dns-option list Set DNS options (default [])
--dns-search list Set custom DNS search domains (default [])
--endpoint-mode string Endpoint mode (vip or dnsrr)
-e Set environment variables (default [])
--env-file list Read in a file of environment variables (default [])
--group list Set one or more supplementary user groups for the container (default [])
--health-cmd string Command to run to check health
--health-interval duration Time between running the check (ns|us|ms|s|m|h)
--health-retries int Consecutive failures needed to report unhealthy
--health-timeout duration Maximum time to allow one check to run (ns|us|ms|s|m|h)
--help Print usage
--host list Set one or more custom host-to-IP mappings (host:ip) (default [])
--hostname string Container hostname
-l Service labels (default [])
--limit-cpu decimal Limit CPUs (default 0.000)
--limit-memory bytes Limit Memory (default 0 B)
--log-driver string Logging driver for service
--log-opt list Logging driver options (default [])
--mode string Service mode (replicated or global) (default "replicated")
--mount mount Attach a filesystem mount to the service
--name string Service name
--network list Network attachments (default [])
--no-healthcheck Disable any container-specified HEALTHCHECK
-p, --publish port Publish a port as a node port
--replicas uint Number of tasks
--reserve-cpu decimal Reserve CPUs (default 0.000)
--reserve-memory bytes Reserve Memory (default 0 B)
--restart-condition string Restart when condition is met (none, on-failure, or any)
--restart-delay duration Delay between restart attempts (ns|us|ms|s|m|h)
--restart-max-attempts uint Maximum number of restarts before giving up
--restart-window duration Window used to evaluate the restart policy (ns|us|ms|s|m|h)
--secret secret Specify secrets to expose to the service
--stop-grace-period duration Time to wait before force killing a container (ns|us|ms|s|m|h)
-t Allocate a pseudo-TTY
--update-delay duration Delay between updates (ns|us|ms|s|m|h) (default 0s)
--update-failure-action string Action on update failure (pause|continue) (default "pause")
--update-max-failure-ratio float Failure rate to tolerate during an update
--update-monitor duration Duration after each task update to monitor for failure (ns|us|ms|s|m|h) (default 0s)
--update-parallelism uint Maximum number of tasks updated simultaneously (0 to update all at once) (default 1)
-u string Username or UID (format: <name|uid>[:<group|gid>])
--with-registry-auth Send registry authentication details to swarm agents
-w string Working directory inside the container
service inspect 显示服务的详细信息
docker service create [OPTIONS] IMAGE [COMMAND] [ARG...]
-f 使用给定的Go模板格式化输出
--pretty 以人性化的格式打印信息
service logs 获取服务的日志
注意:此命令仅适用于使用
json-file或日志记录驱动程序启动的服务。
docker service logs [OPTIONS] SERVICE
--details 显示额外的详细信息到日志中
-f 按照日志输出
--no-resolve 不要将ID映射到名称
--since 从某个时间戳起显示日志
--tail 从日志结尾的指定行数开始显示
-t 显示时间戳
service ls 列出服务
docker service ls [OPTIONS]
-f 根据提供的条件过滤输出
-q 只显示ID
service rm 删除服务
docker service rm SERVICE [SERVICE...]
service scale 指定副本数量
命令用于使您能够将一个或多个复制服务向上或向下缩放到所需数量的副本。 此命令不能应用于全局模式的服务。 该命令将立即返回,但服务的实际缩放可能需要一些时间。 要停止服务的所有副本,同时保持服务在群集中的活动,您可以将比例设置为0。
docker service scale SERVICE=REPLICAS [SERVICE=REPLICAS...]
docker service update 更新服务
docker service update [OPTIONS] SERVICE
--args string Service command args
--constraint-add list Add or update a placement constraint (default [])
--constraint-rm list Remove a constraint (default [])
--container-label-add list Add or update a container label (default [])
--container-label-rm list Remove a container label by its key (default [])
--dns-add list Add or update a custom DNS server (default [])
--dns-option-add list Add or update a DNS option (default [])
--dns-option-rm list Remove a DNS option (default [])
--dns-rm list Remove a custom DNS server (default [])
--dns-search-add list Add or update a custom DNS search domain (default [])
--dns-search-rm list Remove a DNS search domain (default [])
--endpoint-mode string Endpoint mode (vip or dnsrr)
--env-add list Add or update an environment variable (default [])
--env-rm list Remove an environment variable (default [])
--force Force update even if no changes require it
--group-add list Add an additional supplementary user group to the container (default [])
--group-rm list Remove a previously added supplementary user group from the container (default [])
--health-cmd string Command to run to check health
--health-interval duration Time between running the check (ns|us|ms|s|m|h)
--health-retries int Consecutive failures needed to report unhealthy
--health-timeout duration Maximum time to allow one check to run (ns|us|ms|s|m|h)
--help Print usage
--host-add list Add or update a custom host-to-IP mapping (host:ip) (default [])
--host-rm list Remove a custom host-to-IP mapping (host:ip) (default [])
--hostname string Container hostname
--image string Service image tag
--label-add list Add or update a service label (default [])
--label-rm list Remove a label by its key (default [])
--limit-cpu decimal Limit CPUs (default 0.000)
--limit-memory bytes Limit Memory (default 0 B)
--log-driver string Logging driver for service
--log-opt list Logging driver options (default [])
--mount-add mount Add or update a mount on a service
--mount-rm list Remove a mount by its target path (default [])
--no-healthcheck Disable any container-specified HEALTHCHECK
--publish-add port Add or update a published port
--publish-rm port Remove a published port by its target port
--replicas uint Number of tasks
--reserve-cpu decimal Reserve CPUs (default 0.000)
--reserve-memory bytes Reserve Memory (default 0 B)
--restart-condition string Restart when condition is met (none, on-failure, or any)
--restart-delay duration Delay between restart attempts (ns|us|ms|s|m|h)
--restart-max-attempts uint Maximum number of restarts before giving up
--restart-window duration Window used to evaluate the restart policy (ns|us|ms|s|m|h)
--rollback Rollback to previous specification
--secret-add secret Add or update a secret on a service
--secret-rm list Remove a secret (default [])
--stop-grace-period duration Time to wait before force killing a container (ns|us|ms|s|m|h)
-t, --tty Allocate a pseudo-TTY
--update-delay duration Delay between updates (ns|us|ms|s|m|h) (default 0s)
--update-failure-action string Action on update failure (pause|continue) (default "pause")
--update-max-failure-ratio float Failure rate to tolerate during an update
--update-monitor duration Duration after each task update to monitor for failure (ns|us|ms|s|m|h) (default 0s)
--update-parallelism uint Maximum number of tasks updated simultaneously (0 to update all at once) (default 1)
-u, --user string Username or UID (format: <name|uid>[:<group|gid>])
--with-registry-auth Send registry authentication details to swarm agents
-w, --workdir string Working directory inside the container
secret
docker swarm docker secret 的使用和管理
Docker Secret管理和使用
secret create 创建secrets
docker secret create [OPTIONS] SECRET file|-
-l 标签
secret inspect 显示secret的详细信息
docker secret inspect [OPTIONS] SECRET [SECRET...]
-f 使用给定的Go模板格式化输出
--pretty 以人性化的格式打印信息
secret ls 列出secret
docker secret ls [OPTIONS]
-f 根据提供的条件过滤输出
--format 使用Go模板的俏皮秘密
-q 只显示ID
secret rm 删除secret
docker secret rm SECRET [SECRET...]
node
node demote 从群集管理器中删除节点
docker node demote NODE [NODE...]
node inspect 显示节点的详细信息
docker node inspect [OPTIONS] self|NODE [NODE...]
-f 使用给定的Go模板格式化输出
--pretty 以人性化的格式打印信息
node ls 列出群组中的节点
docker node ls [OPTIONS]
-f 根据提供的条件过滤输出
-q 只显示ID
node promote 将节点提升为群集中的管理器
docker node promote NODE [NODE...]
node ps 列出在节点上运行的任务
docker node ps [OPTIONS] [NODE...]
-f 根据提供的条件过滤输出
--no-resolve 不要将ID映射到名称
--no-trunc 不要截断输出
node rm 从群集中删除节点
docker node rm [OPTIONS] NODE [NODE...]
-f 强制从群集中删除一个节点
node update 更新一个节点
docker node update [OPTIONS] NODE
--availability 节点的可用性(有效/暂停/耗尽)
--label-add 添加或更新节点标签(key = value)
--label-rm 删除节点标签(如果存在)
--role 节点的角色(worker / manager)
Docker Stack
stack deploy 部署新的堆栈或更新现有堆栈
从群集中的compose文件或dab文件创建和更新堆栈
docker stack deploy [OPTIONS] STACK
--bundle-file 分布式应用程序包文件的路径
-c Compose 文件的路径
--with-registry-auth 将注册表身份验证详细信息发送给Swarm代理
stack ls 栈堆列表
docker stack ls
--format 较好地打印堆栈使用Go模板
stack ps 列出堆栈中的任务
docker stack ps [OPTIONS] STACK
-f 根据提供的条件过滤输出
--no-resolve 不要将ID映射到名称
--no-trunc 不要截断输出
stack rm 从群集中移除堆栈
docker stack rm STACK
-f 根据提供的条件过滤输出
--no-resolve 不要将ID映射到名称
--no-trunc 不要截断输出
stack services 列出堆栈中的服务
docker stack services [OPTIONS] STACK
-f 根据提供的条件过滤输出
-q 只显示ID
systemctl
system df 显示 Docker 磁盘使用情况
docker system df [OPTIONS]
-v 显示详细信息
system events 从服务器获取实时事件
docker system events [OPTIONS]
-f filter Filter output based on conditions provided
--format string Format the output using the given Go template
--help Print usage
--since string Show all events created since timestamp
--until string Stream events until this timestamp
system info 显示系统范围的信息
docker system info [OPTIONS]
-f Format the output using the given Go template
--help Print usage
system prune 删除未使用的数据
docker system prune [OPTIONS]
-a Remove all unused images not just dangling ones
-f Do not prompt for confirmation
相关操作
部署springboot
打包
1.在项目启动类所在模块的pom文件中添加插件
<build>
<plugins>
<plugin>
<!--该插件主要用途:构建可执行的JAR -->
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<version>2.4.0</version>
<executions>
<execution>
<goals>
<goal>repackage</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
2.在父项目中clean、package 生成jar包
部署
- 创建
openjdk:8容器
docker run --name 项目名 -p 8081:8081 -it -v 主机挂载目录:容器内项目目录 openjdk:8 /bin/bash
- ctrl+p+q 退出容器
不用-it进入,容器会直接关闭,bin/bash直接被关了?菜狗求教 - cd 主机挂载目录 上传jar包到这个目录
- 运行 连接容器,进入容器内项目目录 java -jar jar包 &> 控制台输出.log &