续篇-docker篇: 优势与安装方式 及基础指令整合

目录

1. 前言简介: 

1.1 docker的优势: 

1.2 docker的简易理解 

2.   指令安装 

2.1 安装yum的插件

ps: 提示没权限加上sudo即可 root用户不用

 2.2 设置yum仓库地址

ps: 设置多个镜像仓库, 不设置可能会下载变慢

ps: 如图所示

 2.3 更新缓存

 2.4 安装docker

2.5 查看docker版本

3. 启动docker-------------

3.1 开启docker服务

3.2  设置开机自启

3.3 停止docker服务

 3.4 镜像加速

 3.5 输出daemon.json

3.6 重新加载docker配置

3.7 重启docker

3.8 查看镜像配置

3.9  运行helloworld容器吧 没有会自动下载

4. docker使用的基本指令 

4.1 检查docker 镜像

 4.2 查看docker容器

4.3 docker删除容器

---> 如果有个容器还占用这个镜像,删除会报错

---> 需要先删除应用此镜像的容器然后删除 

 ---> 特别注意: 如果直接强制删除镜像 容器也不会删除 

 4.4 docker pull  拉取

 4.5 运行镜像

5. 制作镜像

5.1 下载centos镜像

 ->官网效果(如图)

-> 下载操作(如图)

5.2 将centos7镜像下载到本地

5.3  然后将这个压缩包拉到Windows系统中

--> 使用方式(如图): 

5.4 进入容器(宿主机进入)以及退出

-> 如图所示 

​编辑

5.5 docker在后台运行的标准操作包括:

5.6 删除容器: 

5.7 删除镜像

6. 容器创建后的维护

6.1 查看容器信息

6.2 查看容器日志信息

7. 创建容器挂载(数据卷)

7.1 创建一个数据卷

7.2 查看数据卷

 7.3 查看指定数据卷信息

7.4 配置jdk

   --> 创建文件Dockerfile并添加配置

7.5 使用 Dockerfile 构建镜像

---> 指令: docker build -t jdk:8 .   

 7.6 查看环境变量

8. 总结及后续传送门


1. 前言简介: 

1.1 docker的优势: 

  1. 隔离性:Docker使用容器来隔离不同的应用程序和环境,这使得应用程序之间不会互相影响,同时可以更好地管理资源。

  2. 可移植性:Docker容器可以轻松地在不同的环境中运行,从而实现真正的可移植性,无需担心因为不同的运行环境而导致应用程序出现问题。

  3. 可伸缩性:使用Docker可以很容易地扩展应用程序,根据需要增加或减少容器数量。

  4. 更快的部署:由于Docker容器的轻量级特性,部署应用程序变得非常快速和简单。

  5. 更好的资源利用率:Docker可以充分利用系统资源,在不同的容器中同时运行多个应用程序,从而实现更好的资源利用率。

  6. 更好的管理和维护:Docker的管理和维护非常简单,可以轻松地更新和升级容器中的应用程序,并且可以使用Docker的一些工具来监控和管理容器的运行情况。

1.2 docker的简易理解 

分为 容器和宿主机 也就是 容器的端口可以相同 用不同宿主机的端口进行映射

就像虚拟机一样 每个容器相互独立 互不影响, 然后一个大房子里的不同格子放这这些容器, 拿redis举例 6379端口的容器可以有多个 但是宿主机端口只能有一个 可以映射6380 等

2.   指令安装 

2.1 安装yum的插件

ps: 提示没权限加上sudo即可 root用户不用

yum install -y yum-utils

 2.2 设置yum仓库地址

ps: 设置多个镜像仓库, 不设置可能会下载变慢

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

ps: 如图所示

 2.3 更新缓存

sudo yum makecache fast

 2.4 安装docker

网络环境不好的重复下载

sudo yum install -y docker-ce docker-ce-cli containerd.io

2.5 查看docker版本

docker -v

3. 启动docker-------------

3.1 开启docker服务

systemctl start docker

3.2  设置开机自启

systemctl enable docker

3.3 停止docker服务

systemctl stop docker

 3.4 镜像加速

配置加速器来加速。修改配置文件 /etc/docker/daemon.json

cat <<EOF > /etc/docker/daemon.json
{"registry-mirrors": ["https://docker.mirrors.ustc.edu.cn","http://hub-mirror.c.163.com"],"max-concurrent-downloads": 10,"log-driver": "json-file","log-level": "warn","log-opts": {"max-size": "10m","max-file": "3"},"data-root": "/var/lib/docker"
}
EOF

 3.5 输出daemon.json

3.6 重新加载docker配置

systemctl daemon-reload 

3.7 重启docker

systemctl restart docker

3.8 查看镜像配置

 docker info

3.9  运行helloworld容器吧 没有会自动下载

官网: https://hub.docker.com/

docker run hello-world

4. docker使用的基本指令 

4.1 检查docker 镜像

docker  images 

 4.2 查看docker容器

docker ps -a  # (简写) a==all

 

4.3 docker删除容器

docker image rm redis

---> 如果有个容器还占用这个镜像,删除会报错

---> 需要先删除应用此镜像的容器然后删除 

 

 ---> 特别注意: 如果直接强制删除镜像 容器也不会删除 

 4.4 docker pull  拉取

 

 4.5 运行镜像

docker run hello-world

5. 制作镜像

制作镜像,都会先下载一个空的centos镜像(空的系统镜像文件系统)。

官方镜像仓库地址为https://hub.docker.com

5.1 下载centos镜像

docker pull centos:7

 ->官网效果(如图)

-> 下载操作(如图)

5.2 将centos7镜像下载到本地

5.3  然后将这个压缩包拉到Windows系统中

--> 使用方式(如图): 

5.4 进入容器(宿主机进入)以及退出

docker run -it centos:7 bash
docker exec -it centos:7 bash

注意:  (指令可以组合使用) 例子:  -i   -t   -dit    -d是后台运行    it表示交互   dit没有啥意义 

-> 如图所示 

5.5 docker在后台运行的标准操作包括:

1.检查本地是否存在指定的镜像,不存在就从公有仓库下载
2.利用镜像创建并启动一个容器
3.分配一个文件系统(简版linux系统),并在只读的镜像层外面挂载一层可读写层
4.从宿主主机配置的双桥接口中桥接一个虚拟接口到容器中去
5.从地址池配置一个 ip 地址给容器
6.执行用户指定的应用程序

5.6 删除容器: 

docker stop redis
docker container rm -f redis#不用停容器 直接删(container可以不写)
docker rm -rf redis

5.7 删除镜像

docker rmi 镜像id(三到四位就行)

6. 容器创建后的维护

6.1 查看容器信息

docker inspect redis 

6.2 查看容器日志信息

docker container logs redis 
docker container logs -f redis

7. 创建容器挂载(数据卷)

7.1 创建一个数据卷

7.2 查看数据卷

 7.3 查看指定数据卷信息

7.4 配置jdk

   --> 创建文件Dockerfile并添加配置

FROM centos:7
ADD jdk-8u51-linux-x64.tar.gz /usr/local/docker
ENV JAVA_HOME=/usr/local/docker/jdk1.8.0_51 \PATH=/usr/local/docker/jdk1.8.0_51/bin:$PATH
CMD [‘bash’]

7.5 使用 Dockerfile 构建镜像

(在Dockerfile所在目录执行docker指令)

---> 指令: docker build -t jdk:8 .   

注意  这有个点

 

 

 7.6 查看环境变量


8. 总结及后续传送门

docker 安装 使用 部署等操作(专栏)

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

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

相关文章

Learn Mongodb DB功能命令索引等搜索 ⑤

作者 : SYFStrive 博客首页 : HomePage &#x1f4dc;&#xff1a; PHP MYSQL &#x1f4cc;&#xff1a;个人社区&#xff08;欢迎大佬们加入&#xff09; &#x1f449;&#xff1a;社区链接&#x1f517; &#x1f4cc;&#xff1a;觉得文章不错可以点点关注 &#x1f44…

JAVA 初识序列化与反序列化

JAVA 初识序列化与反序列化 目录 JAVA 初识序列化与反序列化初识序列化与反序列化1 概述2 特点/应用场景3 涉及到的流对象4 代码实现序列化与反序列化4.1 步骤1&#xff1a;创建学生类Student4.2 步骤2&#xff1a;创建序列化测试类 5 测试报错NotSerializableException:6 测试…

leetcode 26.删除有序数组中的重复项

⭐️ 题目描述 &#x1f31f; leetcode链接&#xff1a;删除有序数组中的重复项 代码&#xff1a; /*思路&#xff1a;双指针问题[1,1,2]src-> [ 1 , 1 , 2 ]destnums[src] nums[dest] > src;src-> [ 1 , 1 , 2 ]destnums[src]…

计算机视觉:多相机硬件同步拍摄

计算机视觉&#xff1a;多相机硬件同步拍摄 传感器同步硬件同步信号FSYNC信号STROBE信号 硬件接线硬件设备接线步骤&#xff1a; 软件驱动参考文献 传感器同步 目前主要有两种方法来同步不同传感器的信息&#xff08;帧、IMU数据包、ToF等&#xff09;&#xff1a; 硬件同步&…

7.用python写网络爬虫,验证码处理

前言 验证码&#xff08;CAPTCHA&#xff09;的全称为全自动区分计算机和人类的公开图灵测试&#xff08;Completely Automated Public Turing testtotellComputersand Humans Apart&#xff09;从其全称可以看出&#xff0c;验证码用 于测试用户是否为真实人类。一个典型的验证…

基于Web的小学学科数字教学资源管理系统

摘要 小学学科数字教学资源管理是一个典型的学习项目&#xff0c;从教学资源、教材信息的统计和分析&#xff0c;在过程中会产生大量的、各种各样的数据。本文以小学学科数字教学资源管理系统为目标&#xff0c;采用B/S模式&#xff0c;以Springboot为开发框架&#xff0c;java…

STM32单片机(五)第二节:EXTI外部中断练习2(旋转编码器计次)

❤️ 专栏简介&#xff1a;本专栏记录了从零学习单片机的过程&#xff0c;其中包括51单片机和STM32单片机两部分&#xff1b;建议先学习51单片机&#xff0c;其是STM32等高级单片机的基础&#xff1b;这样再学习STM32时才能融会贯通。 ☀️ 专栏适用人群 &#xff1a;适用于想要…

Git常用命令

个人学习笔记&#xff0c;记录已经使用过的相关命名 1. 分支管理 2. 回退提交 2.1. 相关命令 2.2. 应用 回退后可以通过git log查看当前处于哪一版本 2.3. 撤销回退 先使用git reflog&#xff0c;找到需要回退的版本号&#xff0c;例如这里撤销回退之前提交测试文件的版本…

计算机网络的89个核心概念

主机&#xff1a;计算机网络上任何一种能够连接网络的设备都被称为主机或者说端系统&#xff0c;比如手机、平板电脑、电视、游戏机、汽车等&#xff0c;随着 5G 的到来&#xff0c;将会有越来越多的终端设备接入网络。 通信链路&#xff1a;通信链路是由物理链路&#xff08;…

App 抓包提示网络异常怎么破?

背景 当你测试App的时候&#xff0c;想要通过Fiddler/Charles等工具抓包看下https请求的数据情况&#xff0c;发现大部分的App都提示网络异常/无数据等等信息。以“贝壳找房”为例&#xff1a; Fiddler中看到的请求是这样的&#xff1a; 你可能开始找证书的问题&#xff1a;是…

微信小程序canvas层级太高,与其他非原生组件层级冲突

官网已经提出新版本以支持同层渲染&#xff0c;但是实际项目中层级还是冲突的。 最后在文档中找到这样一段话&#xff0c;用真机打开&#xff0c;层级就正常了 。所以建议大家&#xff0c;多使用真机调试去测试&#xff01;&#xff01;&#xff01;&#xff01;

中介者模式(二十一)

相信自己&#xff0c;请一定要相信自己 上一章简单介绍了观察者模式(二十), 如果没有看过, 请观看上一章 一. 中介者模式 引用 菜鸟教程里面中介者模式介绍: https://www.runoob.com/design-pattern/mediator-pattern.html 中介者模式&#xff08;Mediator Pattern&#xff…