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>
相关推荐
java_logo4 小时前
HashiCorp Vault 镜像拉取与 Docker 部署全指南
运维·docker·容器
Maple_land6 小时前
Linux复习:冯·诺依曼体系下的计算机本质:存储分级与IO效率的底层逻辑
linux·运维·服务器·c++·centos
李的阿洁6 小时前
k8s中的容器服务
linux·容器·kubernetes
谢景行^顾7 小时前
数据结构知识掌握
linux·数据结构·算法
人工智能训练8 小时前
如何在 Ubuntu 22.04 中安装 Docker 引擎和 Linux 版 Docker Desktop 桌面软件
linux·运维·服务器·数据库·ubuntu·docker·ai编程
Maple_land9 小时前
Linux复习:系统调用与fork
linux·运维·服务器·c++·centos
996终结者9 小时前
Docker核心用途实战:彻底解决环境一致性问题
运维·docker·容器
无聊的小坏坏9 小时前
Poll 服务器实战教学:从 Select 迁移到更高效的多路复用
linux·服务器·poll·io多路复用
阿桂有点桂9 小时前
Docker搭建Ngnix、php5.6、php8、postgresql、redis
运维·服务器·docker·容器
WAsbry9 小时前
InputConnection机制与跨进程文本操作的工程实践
android·linux