docker常见应用

news/2025/3/20 11:11:10/文章来源:https://www.cnblogs.com/xiaogblog/p/18782662

docker 阿里镜像
https://xxx.mirror.aliyuncs.com
docker 代理镜像
dk.nastool.de/library


配置代理镜像
vim /etc/docker/daemon.json

{"registry-mirrors" : ["https://xxx.mirror.aliyuncs.com","https://dk.nastool.de/library",...]
}

编写Dockerfile

使用一个基础镜像,比如ubuntu

FROM ubuntu:latest

将字体文件复制到容器中

COPY windows_fonts /usr/share/fonts/

RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime &&
echo "Asia/Shanghai" > /etc/timezone &&
apt-get update &&
apt-get install -y libreoffice &&
apt-get install -y openjdk-8-jdk &&
apt-get clean &&
rm -rf /var/lib/apt/lists/* &&
fc-cache -fv

设置你的工作目录和命令

WORKDIR /app
COPY . /app

ENTRYPOINT ["sh","-c","java -jar app.jar"]


构建镜像(Dockerfile)

docker build -t zhaopin:1_0 .
docker build -t zhaopin:2_0 .

拉取镜像(官网已不可用)
docker pull mysql:5.7 #官网已失效
docker pull xxx.mirror.aliyuncs.com/mysql:5.7 # 阿里镜像

镜像别名
docker tag xxx.mirror.aliyuncs.com/mysql:5.7 ali-mysql

查看docker镜像
docker images

导出镜像
docker save zhaopin:1_0 > zhaopin_image.tar

导入镜像
docker load -i zhaopin_image.tar

删除镜像
docker rmi zhaopin:1_0

查看docker0网卡的宿主机ip
ip addr show docker0

创建并运行容器(-d 后台运行)
docker run -d -p 8085:8085
--restart=unless-stopped
-v /mnt/zhaopin/lanzhongpro:/mnt/zhaopin/lanzhongpro
-v /home/zhaopin:/app
--add-host=host.docker.internal:172.17.0.1
--name zhaopin zhaopin:1_0

查看docker 容器
docker ps -a

关闭docker容器
docker stop zhaopin

删除容器
docker rm zhaopin

启动docker 容器
docker start zhaopin

查看应用日志
docker logs -f --tail=500 zhaopin


mysql服务案例(有密码)

docker run -d
-p 3306:3306
--name mysql57
-v /home/mysql/data:/var/lib/mysql
-v /home/mysql/config/my.cnf:/etc/mysql/my.cnf
-v /home/mysql/log:/var/log/mysql
--restart=unless-stopped
-e MYSQL_ROOT_PASSWORD=密码 dk.nastool.de/library/mysql:5.7

导入sql文件
docker exec -it mysql57 /bin/bash
mysql -uroot -p
use your_database;
source /var/lib/mysql/your_database.sql # 映射到本地 /home/mysql/data/your_database.sql
导出sql文件
docker exec -it mysql57 /bin/bash
mysql -uroot -p
use your_database;
mysqldump -u root -p your_database > /var/lib/mysql/your_database.sql # 映射到本地 /home/mysql/data/your_database.sql


springboot 应用服务案例(yml中使用其它服务时,ip使用host.docker.internal)

docker run -d -p 8079:8079
--restart=unless-stopped
-v /workdir:/workdir
--add-host=host.docker.internal:172.17.0.1
--name springboot_sever dk.nastool.de/library/openjdk:8-jre-slim
sh -c "cd /workdir && java -jar app.jar"


redis服务案例(redis密码在redis.conf中)

docker run -d -p 6379:6379
--name myredis --privileged=true
-v /home/redis/redis.conf:/etc/redis/redis.conf
-v /home/redis/data:/data:rw
--restart=unless-stopped
dk.nastool.de/library/redis redis-server /etc/redis/redis.conf
--appendonly yes


elasticsearch服务案例

docker run -d
--name es7
-e "discovery.type=single-node"
-p 59200:9200
-p 59300:9300
-v /home/es_docker/data:/usr/share/elasticsearch/data
--restart=unless-stopped
dk.nastool.de/library/elasticsearch:7.6.2

设置密码
docker exec -it es7 bash # 进入容器
bin/elasticsearch-certutil ca # 生成证书(如果让设置输出文件名就直接回车,如果设置证书密钥就输入证书密钥)
bin/elasticsearch-certutil cert --ca elastic-stack-ca.p12 # 生成节点证书(同上)
chmod 660 elastic-stack-ca.p12 elastic-certificates.p12 # 证书授权
mv elastic-certificates.p12 config/ # 移动证书到配置文件夹
vi config/elasticsearch.yml # 编辑配置文件

xpack.security.enabled: true
xpack.security.transport.ssl.enabled: true
xpack.security.transport.ssl.verification_mode: certificate
xpack.security.transport.ssl.keystore.path: elastic-certificates.p12
xpack.security.transport.ssl.keystore.password: 替换证书密钥处
xpack.security.transport.ssl.truststore.path: elastic-certificates.p12
xpack.security.transport.ssl.truststore.password: 替换证书密钥处

exit # 退出容器
docker restart es7 # 重启容器
docker exec -it es7 bash # 再次进入容器
bin/elasticsearch-setup-passwords interactive # 设置es密码(所有密码都设置一样)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/901932.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

五分钟带你看懂 NVIDIA 和 AI 的未来

(配图:Photo by BoliviaInteligente on Unsplash)前言:2025 年 3 月 18 日,在美国加州圣何塞举行的 GTC 2025 大会上,NVIDIA CEO 黄仁勋发表了长达两小时的主题演讲,详细介绍了 NVIDIA 的未来路线图。 这场被誉为“AI 超级碗”的盛会,吸引了全球开发者、创新者和行业领导…

初识 WebSocket 协议

什么是 WebSocket WebSocket 是一种网络通信协议,是 HTML5 开始提供的一种在单个 TCP 连接上进行全双工通信的协议。WebSocket 属于应用层协议,它基于 TCP 传输协议,并复用 HTTP 的握手通道。 为什么出现 WebSocket 我们已经拥有了 HTTP 协议,为什么还要搞出一套 WebSocket…

易基因:WGBS+ChIP-seq技术揭示Cdx2转录因子在发育与稳态中的动态结合机制|NC/IF14.7

大家好,这里是专注表观组学十余年,领跑多组学科研服务的易基因。 Cdx2是一个关键的转录因子,在小鼠肠道上皮细胞的发育过程中起着决定性的作用。它在胚胎期和成年期的肠道上皮细胞中都有表达,但其结合的基因组位点在发育和成年期有所不同。DNA甲基化是一种表观遗传修饰,通…

FALL

FALL 信息收集 扫描目标主机ip ┌──(root㉿kali)-[~] └─# arp-scan -l Interface: eth0, type: EN10MB, MAC: 00:0c:29:84:b2:cc, IPv4: 192.168.158.143 Starting arp-scan 1.10.0 with 256 hosts (https://github.com/royhills/arp-scan) 192.168.158.1 00:50:56:c0:0…

信创龙头股在政策支持下的投资机会解读

信创产业,即信息技术应用创新产业,旨在实现信息技术领域的自主可控,减少对国外技术的依赖,保障国家信息安全。近年来,随着政策的大力支持,信创产业发展势头迅猛,信创龙头股也备受投资者关注。在政策东风的助力下,信创龙头股蕴含着丰富的投资机会,值得深入剖析。 政策支…

通过 INFINI Console 集中管理极限网关配置

之前有做过介绍实现极限网关(INFINI Gateway) 配置动态加载,这是一个 Gateway 实例的操作,直接在服务器上修改配置文件。如果有多个 Gateway 实例需要调整,登录多台主机修改配置文件就有些繁琐,有没有简便的方法呢? 答案是: 当然有! INFINI Gateway 有配套的管理页面,…

如何精准控制生产成本?8年生产主管告诉我掌握这些底层逻辑!

你是不是常常听到“控制成本”这个词,但却搞不清楚到底应该从哪里入手? 其实,成本控制并不是简单的削减支出,而是要在每个环节上做到精益求精。 作为一名有8年经验的生产主管,我可以告诉你,成本控制的关键在于对生产过程中的每一环节都要有清晰的了解和精准的把控。下文介…

CIMCO Edit 2024软件下载与安装教程

CIMCO Edit 2024是Cimco Integration公司推出的一款强大的数控程序编辑器,可帮助用户进行存储和检索NC程序、NC程序优化、后处理、以及快速NC程序仿真,它拥有强大而实用的数控编辑功能、文件的智能比较、刀位轨迹的三维模拟、DNC传输等强大功能,可帮助用户更快捷的完成NC程序…

FunASR: 让AI听懂你的声音

分享一个语音识别黑科技——开源免费的FunASR!我们先看下Funasr的语音识别效果。第一个是识别MP4视频文件。第二个是,电话语音实时识别。FunASR有两个识别引擎,离线识别 和 实时识别。 离线识别引擎,主要用途是对录音文件进行转写,得到文本结果。 典型的使用场景:会议录音…

启航杯writeup

启航杯writeup 一、web 1.Easy_include题解打开网址得到php代码,发现存在可以通过伪协议来绕过过滤​ 2.构造伪协议 ​ 命令会反向输出所有以fl开头的文件内容输出得到的内容。 ?file=data://text/plain,<?=system(tac fl*);?>​ 3.得到flag2.PCR(文件上传请求)…

使用ArgoCD管理Kubernetes部署指南

对于寻求利用云原生技术力量的组织来说,高效管理 Kubernetes 部署至关重要。ArgoCD 是一款针对 Kubernetes 的声明式 GitOps 持续交付工具,它是一种强大的解决方案。它有助于根据存储在 Git 存储库中的配置自动部署应用程序,从而使 Kubernetes 集群中的应用程序状态与 Git 中…

DeepC2—基于DeepSeek的C2平台

蹭个DeepSeek热点最近DeepSeek很火,蹭个热点,前几天搞了个自动生成工具的网站,有模有样吧,作用的话看看就行,网上绝大部分所谓的Agent也就这样...