Docker学习与实战

news2025/2/24 17:42:32

一、Docker安装

移除旧版本docker

sudo yum remove docker \
                  docker-client \
                  docker-client-latest \
                  docker-common \
                  docker-latest \
                  docker-latest-logrotate \
                  docker-logrotate \
                  docker-engine

配置docker yum源

sudo yum install -y yum-utils

配置阿里云docker仓库

sudo yum-config-manager \
--add-repo \
http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

安装 最新 docker

sudo yum install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

启动& 开机启动docker

systemctl enable docker --now

配置加速

sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["https://82m9ar63.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker

二、Docker常用命令

#查看运行中的容器
docker ps
#查看所有容器
docker ps -a
#搜索镜像
docker search nginx
#下载镜像
docker pull nginx
#下载指定版本镜像
docker pull nginx:1.26.0
#查看所有镜像
docker images
#删除指定id的镜像
docker rmi e784f4560448
#运行一个新容器
docker run nginx
#强制删除指定容器
docker rm -f 592
# 后台启动并暴露端口
docker run -d --name mynginx -p 80:80 nginx
# 进入容器内部
docker exec -it mynginx /bin/bash
# 登录 docker hub
docker login
# 重新给镜像打标签
docker tag mynginx:v1.0 marlon/mynginx:v1.0
# 推送镜像
docker push marlon/mynginx:v1.0
#自定义网络
docker network create mynet

三、安装Mysql

docker run -d -p 3306:3306 \
-v /app/myconf:/etc/mysql/conf.d \
-v /app/mydata:/var/lib/mysql \
-e MYSQL_ROOT_PASSWORD=marlon \
mysql:8.0

四、安装Nginx

docker run -d -p 80:80 -v 外部目录:内部目录 --name 名称 镜像名称

docker run -d -p 3000:80 \
-v /app/mynginx/html:/usr/share/nginx/html \
-v ngconf:/etc/nginx \
--name nginx\
nginx

卷映射

-v ngconf:/etc/nginx 默认位置在/var/lib/docker/volumes/

查看卷位置

docker volume inspect 卷name
eg:
docker volume inspect ngconf 

五、安装redis主从

下载bitnami镜像

docker pull bitnami/redis:latest

启动master服务

docker run -d -p 6379:6379 -v /app/redisDataM:/bitnami/redis/data -e REDIS_REPLICATION_MODE=master -e REDIS_PASSWORD=123456 --network mynet --name redis-master bitnami/redis

可能会启动不成功,不成功的原因是因为文件夹权限的问题。

授权文件夹最高权限

chmod -R 777 redisDataM
mkdir redisDataS
chmod -R 777 redisDataS

重新启动没有启动成功的redis-master服务

docker restart redis-master

启动redis-slave服务

docker run -d -p 6380:6379 -v /app/redisDataS:/bitnami/redis/data -e REDIS_REPLICATION_MODE=slave -e REDIS_MASTER_HOST=redis01 -e REDIS_MASTER_PORT_NUMBER=6379 -e REDIS_MASTER_PASSWORD=123456 -e REDIS_PASSWORD=123456 --network mynet --name redis-slave bitnami/redis

六、根据dockerfile文件构建镜像

上传jar包,并在同级目录下新建Dockerfile文件

vi Dockerfile


FROM openjdk:17
LABEL author=marlon
EXPOSE 9000
COPY cp-system-start-3.7.0.jar /app/cp-system-start-3.7.0.jar
ENTRYPOINT ["java","-jar","/app/cp-system-start-3.7.0.jar"]

按esc并输入:wq回车保存文件

制作镜像

docker build -f Dockerfile -t cp-system:v1.0 .

运行制作的镜像

docker run -d -p 9000:9000 cp-system:v1.0

查看镜像是否启动成功

docker ps -a

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

甄选范文“论软件测试中缺陷管理及其应用”软考高级论文,系统架构设计师论文

论文真题 软件缺陷指的是计算机软件或程序中存在的某种破坏正常运行能力的问题、错误,或者隐藏的功能缺陷。缺陷的存在会导致软件产品在某种程度上不能满足用户的需要。在目前的软件开发过程中,缺陷是不可避免的。软件测试是发现缺陷的主要手段,其核心目标就是尽可能多地找…

Nvidia GPU驱动安装报错显卡与驱动不兼容(本身兼容)

最近在公司服务器上遇到了一个特别离谱的问题&#xff0c;就是在本身在nividia官网上面下载的匹配的显卡驱动&#xff0c;安装之后采用下面命令查看驱动显示&#xff1a; $ nvidia-smiNVIDIA-SMI has failed because it couldnt communicate with the NVIDIA driver. Make su…

exe4j 使用jar包 打包exe程序,并且自带jre

1. 准备工作 1) 程序jar包一个 2) jdk自带jre文件夹一个 3&#xff09;exe4j 程序 &#xff0c;自行搜索 我用的5.1 4&#xff09;图标&#xff08;icon&#xff09;文件一个&#xff0c;用来作为exe程序的图标 5&#xff09; 图片&#xff08;png/jpg等&#xff09;用来打开…

LeetCode 118.杨辉三角 C++写法

LeetCode 118.杨辉三角 C写法 思路&#x1f9d0;&#xff1a; 我们使用vector来进行解答&#xff0c;该题规律简单&#xff0c;观察一下就可以发现&#xff0c;下一行的非1部分是上一行相同下标与上一行相同下标的前一个数据的和。难一点的是数据存储方式&#xff0c;C语言需要…

相机怎么选(不推荐,只分析)

title: 相机怎么选 tags: [相机, 单反相机] categories: [其他, 相机] 最近准备购买&#xff0c;相机怎么选&#xff0c;我去搜索了许多文章&#xff0c;整理了一篇小白挑选技术篇&#xff0c;供大家参考。 分类 胶片相机 需要装入胶卷才能使用的相机&#xff0c;拍照后可直…

【网络安全】子域名模糊测试实现RCE

未经许可&#xff0c;不得转载。 文章目录 正文总结 正文 在之前测试一个私人项目时&#xff0c;我报告了admin.Target.com上的Auth Bypass漏洞&#xff0c;这将导致SQLI&RCE &#xff0c;该漏洞在报告后仅一天就被修复。 现在重拾该应用程序&#xff0c;对子域进行模糊测…

安德森四原则:从对称性破缺到复杂性涌现

中国物理学会期刊网 2023年06月20日 10:00 北京 以下文章来源于集智俱乐部&#xff0c;作者 Krakauer 导语 对称性破缺与复杂性的涌现有何关系&#xff1f;在几十年的研究进程中&#xff0c;诺奖得主、圣塔菲研究所发起人菲利普安德森&#xff08;Philip Anderson&#xff09…

十四、【Python】基础教程-【Python全掌握】六大基础数据类型:字典(dict)类型的终极指南

目录 一、字典&#xff08;dict&#xff09; 1. 创建字典 2. 访问元素 3. 添加元素 4. 修改元素 5. 删除元素 6. 检查键是否存在 7. 获取字典的键、值、项 8. 遍历字典 9. 更新字典 10. 复制字典 11. 字典推导式 12. 获取默认值 13. 弹出元素 14. 清空字典 15. …

第15周 Zookeeper分布式锁与变种多级缓存

Zookeeper **************************************************************

Verilog语言和C语言的本质区别是什么?

在开始前刚好我有一些资料&#xff0c;是我根据网友给的问题精心整理了一份「C语言的资料从专业入门到高级教程」&#xff0c; 点个关注在评论区回复“888”之后私信回复“888”&#xff0c;全部无偿共享给大家&#xff01;&#xff01;&#xff01; 用老石的一句话其实很好说…

前端八股文 promise async await 的理解

promise是什么 Promise 是异步编程的一种解决方案&#xff0c;比传统的解决方案——回调函数和事件——更合理和更强大。 目的 解析 吴优编程 &#xff08;解决异步编程中的嵌套问题的&#xff0c;将嵌套的格式 用peomise 写成同步&#xff09; promise.then() 是成功后继…

【人工智能】人工智能概论(一):人工智能基本概概念、学派、发展历程与新一代人工智能

文章目录 1. 人工智能的基本概念与定义2. 人工智能的主要学派及主旨思想2.1. 符号主义学派&#xff1a;AI源自数学逻辑2.2. 连接主义学派&#xff1a;AI源自仿生学2.3. 行为主义学派&#xff1a;AI源自控制论 3. 人工智能的起源及发展历程4. 驱动新一代人工智能快速发展的因素 …

橙单后端项目下载编译遇到的问题与解决

今天下载orange-admin项目&#xff0c;不过下载下来运行出现一些问题。 1、涉及到XMLStreamException的几个类都出现下面的错误 The package javax.xml.stream is accessible from more than one module: <unnamed>, java.xml ctrl-shift-t 可以找到这个引入是哪些包里…

C++泛型编程,函数模板和类模板

C模板 模板概念&#xff1a;泛型编程&#xff0c;将类型参数化&#xff0c;在编译阶段不指定参数类型&#xff0c;运行阶段动态获取参数的技术&#xff0c;C中分为函数模板和类模板 语法&#xff1a; template<typename T> template -- 声明创建模板 typename -- 表…

Windows系统安装FinalShell

一、下载 通过百度网盘分享的文件&#xff1a;finalshell_install.exe 链接&#xff1a;https://pan.baidu.com/s/1_vcb_t-Cp4TZSN4nWUmLww 提取码&#xff1a;d6v8 二、安装 三、远程连接Linux系统 (1)打开VMware虚拟机 右键空白区域&#xff0c;点击open Terminal 输入命令…

数字信封+数字签名工具类测试样例(Java实现)

加解密过程 加密&#xff1a; 生成加密方SM2密钥对用于签名使用生成的SM2私钥生成数字签名生成SM4对称密钥对明文进行对称加密使用与解密方提前约定好的SM2公钥对第三步中的SM4对称密钥进行非对称加密把【加密方SM2公钥】、【数字签名】、【SM4对称加密后的密文】和【SM2非对…

Linux基础复习(四)

前言 上一篇文章配置了yum仓库和Tab自动补全&#xff0c;这一篇就开始详细介绍各命令 一、基础命令 pwd pwd命令全称Print Working Directory 打印工作目录&#xff0c;就是查看当前所在位置的目录路径 cd cd全称 Change Directory 切换目录&#xff0c;就是切换工作目录…

docker compose 安装rocketmq 4.x

官网参照 前置环境搭建 目录创建 创建两个目录 logs和store,用于存放日志和数据信息&#xff0c;位置随意&#xff0c;这里我放在/home/rockermq目录下 broker.conf 创建一个空文件broker.conf 在空文件中添加 # broker 对外提供服务的ip&#xff0c;如果是公网&#xff…

前端播放rtsp视频流(最后使用WebRtc)

前端播放rtsp视频流&#xff08;最后使用WebRtc&#xff09; 前言&#xff1a; ​ 项目需要将实验室里的摄像头画面引入到前端页面中&#xff0c;故对目前常见的几种方法进行了尝试&#xff0c;虽然过程坎坷但结局是好的。 一些尝试&#xff1a; RTSPtoWebRtc工具 由于RTSPt…

npm publish出错,‘proxy‘ config is set properly. See: ‘npm help config‘

问题&#xff1a;使用 npm publish发布项目依赖失败&#xff0c;报错 proxy config is set properly. See: npm help config 1、先查找一下自己的代理 npm config get proxy npm config get https-proxy npm config get registry2、然后将代理和缓存置空 方式一&#xff1a; …