Shell脚本运行Docker相关命令说明

#1.Shell脚本 key = value 获取value

# 查看xxx.ini文件内容
cat xxx.ini

# 显示/获取包含指定内容的那一行
| grep node_num 
-------------------------
结果:node_num = 3

# awk -F (-F 指定分割符)
# 2使用=作为分割符,获取第二个值
# 2分割后结果 [node_num , 3] (注意node_num后面有个一个空格,3前面有一个空格)
| awk -F'=' '{print $2}'
-------------------------
结果: 3(前面有空格)

# 去除空格
| sed s/[[:space:]]//g
-------------------------
结果:3(前面无空格)

--------------------------------------------------------------------------
配置文件设置内容:
# 节点编号
node_num = 3
--------------------------------------------------------------------------
# 查找/获取 xxx.ini文件中yyy属性等号右边的值
cat xxx.ini | grep yyy | awk -F'=' '{print $2}' | sed s/[[:space:]]//g
cat sectag-node.ini | grep node_num | awk -F'=' '{print $2}' | sed s/[[:space:]]//g`
--------------------------------------------------------------------------
结果:3

#2.获取容器ID

docker ps -f name="${SERVICE_NAME}_${NUM}" -aq
-f :根据条件过滤显示的内容。 例如:-f name="sls-file-kit_3" 显示name=sls-file-kit_3的容器信息
-a :显示所有的容器,包括未运行的。
-q :静默模式,只显示容器编号。

[root@localhost sls-dbs-kit]# docker ps -f name="sls-file-kit_3"
CONTAINER ID        IMAGE                  COMMAND                  CREATED             STATUS              PORTS                    NAMES
0498d3c570bb        sls-file-kit:2.0.0.1   "sh -c 'java -agentl…"   4 days ago          Up 2 hours          0.0.0.0:9648->9648/tcp   sls-file-kit_3
[root@localhost sls-dbs-kit]# docker ps -f name="sls-file-kit_3" -aq
0498d3c570bb

#3.Docker启动命令相关参数说明

命令:

docker run 
		
		#1.第一部分 基础命令
		-d -p ${MOUNT_PORT}:${PORT} -v /etc/localtime:/etc/localtime:ro -v ${CURRENT_DIR}/../jar:/sls \
		-v ${FILE_FOLDER_MAP}:${FILE_FOLDER_MAP} --name=${SERVICE_NAME}_${NUM} --network ${SLS_NETWORK} --network-alias ${SERVICE_NAME}_${NUM} --restart=always 
	       
		#2.第二部分 容器参数传递
		-e jar_name=""${SERVICE_NAME}"-"${VERSION}".jar" -e params="--kit.ip="${SERVICE_IP}" \
		--server.port="${PORT}" --spring.rabbitmq.host="${RABBITMQ_IP}" --spring.rabbitmq.port="${RABBITMQ_PORT}" \
		--spring.rabbitmq.username="${RABBITMQ_USERNAME}" --spring.rabbitmq.password="${RABBITMQ_PASSWORD}" \
		--database.ip="${DATABASE_IP}" --database.port="${DATABASE_PORT}" --database.name="db_kit_0" \
		--database.username="${DATABASE_USERNAME}" --database.password="${DATABASE_PASSWORD}" \
		--verification.code="${VERIFY_CODE}" --supervise.isOpen="${SUPERVISE_OPEN}" \
		--kit.username="${SUPERVISE_USERNAME}" --kit.password="${SUPERVISE_PASSWORD}" \
		--document.preview.switch="${DOCUMENT_PREVIEW_SWITCH}" --document.openOffice.ip="${OPENOFFICE_IP}" --document.openOffice.port="${OPENOFFICE_PORT}" \
		--kit.webtoken="${SUPERVISE_WEBTOKEN}" --office.tag.open="${OFFICE_TAG_SERVER_OPEN}" \
		--office.tag.ip="${OFFICE_TAG_SERVER_IP}_${NUM}" --office.tag.port="${OFFICE_TAG_SERVER_PORT}" \
		--file.scan.time="${FILE_SCAN_TIME}" --tongtech.exchange.copyFile.start="${TONGTECH_EXCHANGE_COPYFILE_START}" \
		--tongtech.exchange.copyFile.time="${TONGTECH_EXCHANGE_COPYFELE_TIME}"" 
	       
		#3.第三部分 指定容器运行
		${IMAGE_NAME}:${VERSION}(最后指定启动那个容器)
docker run 
#1.-d 后台运行守护进程
#2.-p 端口映射 -p a_port:b_port a_port(容器对外映射的端口) b_port(容器内部的端口)
#3.-v xxx:yyy 将外部xxx未知,与docker容器内yyy挂载到一起
#4.--name=newNmae 为容器创建的别名
#5.--network 
#6.--restart=always  当docker重启时,容器自动启动
#7.-e 传递环境变量,:-e jar_name=""${SERVICE_NAME}"-"${VERSION}".jar" 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值