docker swarm相关内容记录

一、docker swarm集群挂载宿主机目录

1、sudo docker service create --name testrd --detach=false --mount type=bind,src=/root/test,dst=/usr/local/record vmtest:1.0

解析:sudo 以root权限执行,testrd 容器名称,挂载宿主机目录src:宿主机的目录,dst:容器里的目录,vmtest:1.0 带版本的镜像

2、springboot 应用jar包在docker swarm集群部署挂载宿主机目录

docker swarm集群搭建参考原文:https://www.cnblogs.com/bigberg/p/8761226.html

sudo docker service create --replicas 1 -p 9143:9143 -e "spring.cloud.client.ipAddress=172.17.12.99" -e "server.port=9143" -e "EUREKA_INSTANCE_IP-ADDRESS=127.0.0.11" -e "SERVER_PORT=9143" --name test --detach=false --mount type=bind,src=/app,dst=/app test:202203241120

解析:

--replicas : 副本集个数;

--name test:服务名称为test;

server.port=9143 springboot jar 端口号9143;

spring.cloud.client.ipAddress=172.17.12.99   springboot 指定暴露ip为172.17.12.9;

EUREKA_INSTANCE_IP-ADDRESS=127.0.0.11 springboot 指定注册到eureka的ip为127.0.0.11;

容器启动之后,容器中可以运行一些网络应用,通过-p或-P参数来指定端口映射。
宿主机的一个端口只能映射到容器内部的某一个端口上,比如:8080->80之后,就不能8080->81
容器内部的某个端口可以被宿主机的多个端口映射,比如:8080->80,8090->80,8099->80

1)启动容器时,选择一个端口映射到容器内部开放端口上
-p   小写p表示docker会选择一个具体的宿主机端口映射到容器内部开放的网络端口上。
-P   大写P表示docker会随机选择一个宿主机端口映射到容器内部开放的网络端口上

3、根据容器名称查询容器ID并删除

# 第一种写法
docker stop `docker ps -a| grep test-project | awk '{print $1}' `
docker rm   `docker ps -a| grep test-project | awk '{print $1}' `

# 第二种写法
docker stop  `docker ps -aq --filter name=test-project`
docker rm    `docker ps -aq --filter name=test-project`
根据镜像名称查询容器ID并删除

# 第一种写法
docker stop `docker ps -a| grep ygsama/test-project:1.0.2 | awk '{print $1}' `
docker rm   `docker ps -a| grep ygsama/test-project:1.0.2 | awk '{print $1}' `

# 第二种写法
docker stop  `docker ps -aq --filter ancestor=ygsama/test-project:1.0.2`
docker rm   `docker ps -aq --filter ancestor=ygsama/test-project:1.0.2`

根据镜像名称查询镜像ID并删除

docker images -q --filter reference=ygsama/test-project*:*
docker image rm `docker images -q --filter reference=10.2.21.95:10001/treasury-brain*:*`
 

你可能感兴趣的:(docker,docker)