当前位置: 首页 > news >正文

Linux下的Docker安装,以Ubuntu为例

Docker是一种流行的容器化平台,它能够简化应用程序的部署和管理。

Docker安装

1、检查卸载老版本Docker(为保证安装正确,尽量在安装前先进行一次卸载)

apt-get remove docker docker-engine docker.io containerd runc

 

2、Docker更新包管理器

 运行以下命令以确保Ubuntu系统更新到最新版本的软件包列表:

sudo apt-get update

3、安装docker依赖软件包

Docker需要一些依赖软件包。可以安装这些依赖项:

sudo apt-get install apt-transport-https ca-certificates curl software-properties-common

 4、添加Docker存储库的官方GPG密钥

 运行以下命令来添加Docker存储库的GPG密钥,以确保下载的软件包来自Docker官方源:

curl -fsSL http://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add -

  5、添加Docker软件源

添加Docker的存储库,这里添加的是阿里云:

 6、安装Docker

更新软件包列表后,您可以安装Docker:

7、启动Docker服务

安装完成后,可以启动Docker服务:

sudo systemctl start docker

 启动完成后,可以使用下面的命令查看docker的版本

docker -v

 8、Docker拉取helloworld镜像

 这里提示在本地没有找到hello-world的镜像,因此从远程进行拉取

 sudo docker run hello-world

9、Docker查看本机所有的images(镜像)

docker images

 

 我们成功在Ubuntu系统上安装了docker。

Docker网络

Docker网络是一种用于连接Docker容器的网络技术。

基于虚拟网络,不同的容器可以通过虚拟网络来通信。

1、Docker网络查看以及介绍

docker network ls

在安装docker时,会自动创建三种不同网络,分别是bridge、host以及none。

bridge网络代表docker0,ocker守护程序默认将容器连接到此网络。

可以使用docker run --network=[your_network]选项指定链接的网络

使用docker run创建Docker容器时,可以用 --net 选项指定容器的网络模式,Docker可以有以下4种网络模式:

四种模式参数形式含义
host--net=host

容器和宿主机共享Network namespace。

容器将使用宿主机的IP和端口。

none--net=none禁用容器的网络功能。
bridge--net=bridge(默认)会为每一个容器分配、设置IP等,并将容器连接到一个docker0虚拟网桥,通过docker0网桥以及Iptables nat表配置与宿主机通信。
container--net=contaioner:Name或者ID

容器和另外一个容器共享Network namespace。

创建的容器不会创建自己的网卡,配置自己的IP,而是和一个指定的容器共享IP、端口范围

2、Docker网络创建

docker network create mytest

这里成功创建了一个名称为mytest的Docker网络(默认就是bridge)

SpringBoot项目打包成Docker镜像

1、spring-boot-maven-plugin插件

主要用于打包,用来将项目打包成JAR或者WAR文件(生成FAT包)。

这个插件生成的包是可执行的JAR。

<build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId></plugin></plugins>
</build>

http://www.lryc.cn/news/170186.html

相关文章:

  • 【深度学习 | LSTM】解开LSTM的秘密:门控机制如何控制信息流
  • 解决npm install遇到的问题:Error while executing:
  • 常见的内网穿透工具有 ngrok/ localtunnel/ frp
  • dvwa命令执行漏洞分析
  • 今年嵌入式行情怎么样?
  • Unity WebGL 编译 报错: emcc2: error: ‘*‘ failed: [WinError 2] ϵͳ�Ҳ���ָ�����ļ���解决办法
  • 三维模型3DTile格式轻量化压缩处理的数据质量提升方法分析
  • Pycharm2022 pycharm64.exe.Vmoptions
  • sql注入之高权限注入和文件读写
  • Java 面经
  • 无涯教程-JavaScript - ROUNDUP函数
  • 【Linux旅行记】探究操作系统是如何进行管理的!
  • 【Linux C小技巧】零长度数组的使用
  • github 网页显示不全?
  • 寄存器介绍
  • 基于CNN-LSTM的时序预测MATLAB实战
  • MySQL高可用九种方案
  • react 通过ref 获取对应 dom 的位置信息
  • SpringSecurity学习 - 认证和授权
  • JDK jps命令复习
  • Android 13.0 屏蔽Launcher3桌面app图标的长按功能
  • 软考和PMP哪个含金量更高?
  • 第一章:最新版零基础学习 PYTHON 教程(第三节 - 下载并安装Python最新版本)
  • Spring 中三种 BeanName 生成器!
  • Go基础-文件、字符
  • 启动YOLO进行图片物体识别
  • BMS电池管理系统的蓝牙芯片 国产高性能 低功耗蓝牙Soc芯片PHY6222
  • 肖sir__mysql之三表__008
  • 【Linux】常用工具(上)
  • 【kafka】可视化工具KAFKA EAGLE安装分享