CentOS Stream 8中安装和使用 Docker

 docker安装包-CSDN博客

             〇、常用的docker命令

docker的作用:
    快速进行软件的安装,便于软件环境的维护
docker的镜像:
    压缩了指定软件的安装包的文件。使用镜像文件创建容器
docker的容器:
    容器可以理解为就是一台小电脑。安装的linux系统,并且安装了指定的软件。


docker的常用命令:
    docker pull 镜像名称:版本    从镜像库中下载指定的镜像文件
    
    docker images   查看本地镜像库的镜像文件
    
    docker rmi 镜像ID  删除镜像文件,但是前提是没有该镜像创建的容器存在!
    
    docker run -d -p 宿主主机端口号:容器端口号 --name 容器名称 其他参数  镜像Id   创建并启动容器(容器不一定启动成功,需要查看启动日志)
    
    docker logs -f 容器名称  查看容器的日志
    
    docker container  ls  查看正在运行的容器
    
    docker container ls -a  查看启动过的容器列表
    
    docker stop 容器名称  关闭容器
    
    docker start 容器名称  启动容器
    
    docker rm  容器名称    删除容器
    
    docker inspect 容器名称   查看容器信息
    
    docker  exec -it 容器名称  /bin/bash   进入容器的命令终端(容器必须是启动状态)
    
    docker cp 宿主主机文件路径   容器名称:容器内部路径   将宿主主机指定的文件复制到容器中
    
    docker cp 容器名称: 容器内部文件路径  宿主主机路径  将容器内部的文件复制到宿主主机中


linux命令:    

systemctl enable 服务名 开机自启动
systemctl disable 服务名 开机不启动
systemctl start 服务名 启动服务
systemctl stop 服务名 停止服务
systemctl restart 服务名 重启服务
systemctl status 服务名 查看状态


         一、使用虚拟机

        使用VM 版本为16.2.1 ,安装Linux的CentOS Stream 8操作系统



         二、在虚拟机中安装docker

                1)windos中安装Xshell7和Xftp7,官网傻瓜式安装

                     使用xshell连接linux,在xshell中打开xftp会自动连接虚拟机。  

               2)使用xftp将docker的安装包放入  /usr/local/tmp 路径中

             3)离线版安装docker

                          因为官网下载可能会比较慢,这里直接使用预下载好的软件

                          docker安装包-CSDN博客

cd /usr/local/tmpyum localinstall containerd.io-1.2.6-3.3.fc30.x86_64.rpm  //安装container-io,由于container-io需要秘钥,所以需要使用yum安装方式,需要确认rpm -ivh libcgroup-0.41-19.el8.x86_64.rpm//安装Docker-Ce的依赖rpm -ivh docker-ce-cli-19.03.13-3.el8.x86_64.rpm//安装Docker客户端rpm -ivh docker-ce-19.03.13-3.el8.x86_64.rpm//安装Docker-ce

     

   4)在线版安装docker

curl https://download.docker.com/linux/centos/docker-ce.repo -o /etc/yum.repos.d/docker-ce.repo//下载docker-ce repoyum install -y https://download.docker.com/linux/fedora/30/x86_64/stable/Packages/containerd.io-1.2.6-3.3.fc30.x86_64.rpm//安装依赖yum install -y docker-ce//安装docker-ce

          5)开启docker   开机自启  查看docker状态

systemctl start dockersystemctl enable dockerdocker info



      三、 使用docker

                1)配置阿里云镜像代理

                             ①登录阿里云,找到镜像服务

                        ②找到镜像加速器

                       ③  使用这四个命令
mkdir -p /etc/dockertee /etc/docker/daemon.json <<-'EOF'
{ 
"registry-mirrors": ["https://mirror.aliyuncs.com"] 
} EOFsystemctl daemon-reloadsystemctl  restart docker

         2) 在docker中创建和使用docker容器     

                    ①下载jdk8
docker pull openjdk:8

              ②  创建一个springBoot项目 并打包命令为my.jar

     

                   这里也可以使用ideamaven管理依赖中的docker命令自动打包到docker中

<build><plugins><plugin><groupId>com.spotify</groupId><artifactId>docker-maven-plugin</artifactId><version>1.2.2</version><configuration><imageName>my:2.0</imageName>  <!--指定镜像名称 仓库/镜像名:标签--><baseImage>openjdk:8</baseImage> <!--指定基础镜像--><dockerHost>http://192.168.222.128:2375</dockerHost>  <!-- 指定服务器仓库地址 --><entryPoint>["java","-jar","/${project.build.finalName}.jar"]</entryPoint> <!-- 容器启动执行的命令 --><resources><resource><targetPath>/</targetPath> <!-- 指定要复制的目录路径,这里是当前目录 --><directory>${project.build.directory}</directory> <!-- 指定要复制的根目录,这里是target目录 --><include>${project.build.finalName}.jar</include> <!-- 指定需要拷贝的文件,这里指最后生成的jar包 --></resource></resources></configuration></plugin><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId><executions><execution><id>repackage</id><goals><goal>repackage</goal></goals></execution></executions><configuration><mainClass>${start-class}</mainClass></configuration></plugin></plugins></build>

              ③  在xftp中 /usr/local/docker  路径下放入my.jar

                ④同时新建buildFile文件,写入:
FROM openjdk:8
VOLUME /var/mydatas
ADD my.jar app.jar
ENTRYPOINT ["java","-jar","/app.jar"]
EXPOSE 8080

             ⑤   创建镜像的docker容器
docker build -f /usr/local/tmp/buildFile -t my:1.0 .

               ⑥ 启动容器
docker run --name demo -p 8080:8080 -d demo:1.0
                   ⑦成功访问



        3)将镜像文件上传至阿里云个人镜像仓库中

                       ① 登录阿里云,创建仓库

                ②按照阿里云给出的提示pull和push

        4)配置本地镜像仓库

                下载本地仓库镜像
 docker pull registry

                修改 Docker Service 配置
vim /usr/lib/systemd/system/docker.service--insecure-registry 192.168.50.129:5000  //文件中加入主机ip及端口号

              


                 修改 Docker Daemon 配置
vim /etc/docker/daemon.json


                重启 Docker 服务
systemctl daemon-reloadsystemctl restart docker

         查看本地仓库


        本机镜像仓库和其他docker容器的推送和拉取

                        需要镜像源的id  和主机的ip  及  docker软件的端口号

        push

docker tag 7869938f430a 192.168.50.129:5000/test:1.0docker push 192.168.50.129:5000/test:1.0

        pull

docker pull 192.168.50.129:5000/test:1.0

四、数据卷容器

                     下载mysql5.7的镜像:

docker pull mysql:5.7

                     创建一个公共容器:

                               其他容器对象的文件夹都可以设置挂载到该容器中  

docker run --name my_datas -v /datas -e MYSQL_ROOT_PASSWORD=root -d my
sql:5.7

                  创建两个其他容器对象:

docker run --name c1 --volumes-from my_datas -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7docker run --name c2 --volumes-from my_datas -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7

                进入c1 :

                          c2及公共容器对象设置挂载文件夹都含有该文件

docker exec -it c1 bashtouch /datas/readmeexit

       


     

 五、windows连接linux内部的docker容器的mysql软件

docker run --name mysql1 -e MYSQL_ROOT_PASSWORD=123456 -p 3306:3306 -d mysql:5.7

        打印了日志的id并不代表启动成功,通过查看日志判断创建启动成功了没

docker run --name mysql1 -e MYSQL_ROOT_PASSWORD=123456 -p 3306:3306 -d mysql:5.7
72083f70a723d0f1a116c0f883df490874e838b8f2ab86215fe2f47b617aff6e

        使用navicate连接

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

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

相关文章

【F的领地】项目拆解:小学教辅资料

项目介绍 虚拟资料项目的赛道其实一直可以做&#xff0c;实际上就是一个信息差项目。 知识付费是常青树&#xff0c;人天生有为知识付费的倾向。 而且虚拟资料通常一份 19~99 的资料有这方面需求很容易就能付款。 主要是产附属的流量再提问题。 我有个同乡&#xff0c;18年…

CircleProgressView 鸿蒙ArkTS自定义View实现圆形进度条

上篇的截图中除了一个上下的箭头&#xff0c;还有一个圆形进度条&#xff0c;今天我们来讲讲这个如何进行实现 我们看这个图形的构造&#xff0c;其实很简单&#xff1a;一个圆形图形&#xff0c;以及一个文本来显示进度 所以我们用一个层叠布局 绘制一个带颜色的圆形&#xff…

Java设计模式—面向对象设计原则(一) ----->开闭原则OCP(完整详解,附有代码+案例)

3.1开闭原则 对扩展开放&#xff0c;对修改关闭。在程序需要进行拓展的时候&#xff0c;不能去修改原有的代码&#xff0c;实现一个热插拔的效果。简言之&#xff0c;是为了使程序的扩展性好&#xff0c;易于维护和升级。想要达到这样的效果&#xff0c;我们需要使用接口和抽象…

怎么选择靠谱AI论文生成工具?看完我的试用都会明白!

2024年上半年开始AI论文写作工具开始火了&#xff0c;层出不穷&#xff01;作为一个经常需要写论文的懒人&#xff0c;我非常好奇这些AI工具的实际效果到底怎么样&#xff1f;为了测试不同工具的实力&#xff0c;我对他们都进行了试用&#xff0c;发现了一些意想不到的结果....…

路由器的固定ip地址是啥意思?固定ip地址有什么好处

‌在当今数字化时代&#xff0c;‌路由器作为连接互联网的重要设备&#xff0c;‌扮演着举足轻重的角色。‌其中&#xff0c;‌路由器的固定IP地址是一个常被提及但可能让人困惑的概念。‌下面跟着虎观代理小二一起将深入探讨路由器的固定IP地址的含义&#xff0c;‌揭示其背后…

QML入门之创建可重用的组件(一)

我们在日常开发中都会封装一些组件以便于项目内重复利用。QML创建可重用组件一般有两种方法。 自定义Item使用Component创建自定义组件 自定义Item 以一个自定义按钮举例&#xff1a; import QtQuick 2.12Rectangle {id: root// 自定义属性property string btnDis: qsTr(&qu…

51单片机+proteus仿真+基本实验学习1(跑马灯、独立按键和数码管)

目录 1.实验一跑马灯 1.1代码的生成 1.1.151单片机的延时函数的生成 1.1.251单片机的流水灯代码编写 1.2仿真框图 2.实验二I/O独立按键 2.1基本概念 2.1.1按键所需的基本知识 2.2代码的生成 2.2.1头文件定义的代码 2.2.2 执行代码 2.3仿真图 ​3实验三数码管 3.1基…

基于Verilog HDL的FPGA设计基础

第一章 Verilog数字集成电路设计方法概述 HDL(Hardware Description Language)----硬件描述语言 EDA(Electronic Design Automation)----电子设计自动化 VLSI(Very Large Scale Integrated)----超大规模集成电路 ASIC(Application Specific Integrated Circuit)----专用集成电路…

Unity射击游戏开发教程:(35)轰炸敌人

现在敌人和飞机已经慢慢地越来越有各自地地行为了,在本文中,我们将介绍如何创建一个具有以下行为的敌人: 飞机会来回弹跳。飞机将有 4 架无人机轰炸机围绕飞机旋转。无人机轰炸机会偶尔投下沿着屏幕传播的炸弹。如果炸弹击中玩家或在随机时间后就会爆炸。如果炸弹没有击中玩…

macOS上谷歌浏览器的十大隐藏功能

谷歌浏览器&#xff08;Google Chrome&#xff09;在macOS上拥有一系列强大而隐蔽的特性&#xff0c;这些功能能显著提高您的浏览体验。从多设备同步到提升安全性和效率&#xff0c;这些被低估的功能等待着被发掘。我们将逐步探索这些功能&#xff0c;帮助您最大化利用谷歌浏览…

数据分析-螺旋环状气泡图

1 原理 采用阿基米德螺线原理&#xff0c;即以一个点匀速离开一个固定点的同时又以固定的角速度绕该固定点转动而产生的轨迹。具体原理见&#xff1a;阿基米德螺线。坐标轴公式为&#xff1a; 其中x为横坐标&#xff0c;y为纵坐标&#xff0c;r为离中心点的半径&#xff0c;为坐…

CSS之我不会

非常推荐html-css学习视频&#xff1a;尚硅谷html-css 一、选择器 作用&#xff1a;选择页面上的某一个后者某一类元素 基本选择器 1.标签选择器 格式&#xff1a;标签{} <h1>666</h1><style>h1{css语法} </style>2.类选择器 格式&#xff1a;.类…

PFC理论基础与Matlab仿真模型学习笔记(1)--PFC电路概述

一、整流器滤波电路简介 整流器滤波电路的主要功能是将交流电&#xff08;AC&#xff09;转换为直流电&#xff08;DC&#xff09;&#xff0c;并通过滤波器减少波动以输出稳定的直流电。其工作原理主要分为两个部分&#xff1a; 1.整流部分 整流器的核心器件是二极管&#…

JDBC API详解一

DriverManager 驱动管理类&#xff0c;作用&#xff1a;1&#xff0c;注册驱动&#xff1b;2&#xff0c;获取数据库连接 1&#xff0c;注册驱动 Class.forName("com.mysql.cj.jdbc.Driver"); 查看Driver类源码 static{try{DriverManager.registerDriver(newDrive…

基于SpringBoot的扶贫助农管理系统

作者&#xff1a;计算机学姐 开发技术&#xff1a;SpringBoot、SSM、Vue、MySQL、JSP、ElementUI等&#xff0c;“文末源码”。 专栏推荐&#xff1a;前后端分离项目源码、SpringBoot项目源码、SSM项目源码 系统展示 基于JavaSpringBootVueMySQL的扶贫助农管理系统【附源码文档…

跨系统环境下LabVIEW程序稳定运行

在LabVIEW开发中&#xff0c;不同电脑的配置和操作系统&#xff08;如Win11与Win7&#xff09;可能对程序的稳定运行产生影响。为了确保程序在不同平台上都能正常且稳定运行&#xff0c;需要从兼容性、驱动、以及性能优化等多个方面入手。本文将详细介绍如何在不同系统环境下&a…

RB-SQL:利用检索LLM框架处理大型数据库和复杂多表查询的NL2SQL

NL2SQL的任务是将自然语言问题转换为SQL查询&#xff0c;以便从数据库中获取答案。现有LLM来指导SQL生成的方法在处理大型数据库和复杂多表查询时存在挑战&#xff0c;尤其是在处理冗余信息和提高提示工程效率方面。 (a) 利用大型语言模型&#xff08;LLM&#xff09;解决文本…

AI基础 L19 Quantifying Uncertainty and Reasoning with Probabilities I 量化不确定性和概率推理

Acting Under Uncertainty 1 Reasoning Under Uncertainty • Real world problems contain uncertainties due to: — partial observability, — nondeterminism, or — adversaries. • Example of dental diagnosis using propositional logic T oothache ⇒ C av ity • H…

Flutter Button使用

Material 组件库中有多种按钮组件如ElevatedButton、TextButton、OutlineButton等&#xff0c;它们的父类是于ButtonStyleButton。 基本的按钮特点&#xff1a; 1.按下时都会有“水波文动画”。 2.onPressed属性设置点击回调&#xff0c;如果不提供该回调则按钮会处于禁…

Java | Leetcode Java题解之第401题二进制手表

题目&#xff1a; 题解&#xff1a; class Solution {public List<String> readBinaryWatch(int turnedOn) {List<String> ans new ArrayList<String>();for (int i 0; i < 1024; i) {int h i >> 6, m i & 63; // 用位运算取出高 4 位和低…