docker的简单介绍
Docker是一种开源的应用容器引擎,它允许开发者将应用程序及其依赖打包到一个可移植的容器中,然后发布到任何支持Docker的平台上。简单来说,Docker就像是一个“集装箱”,可以将应用程序及其运行环境打包在一起,方便在不同的机器上运行。
举个例子,假设你有一艘船,船上装满了各种货物。这些货物就像是应用程序及其依赖,而船就像是Docker容器。你可以将这艘船从一个港口运到另一个港口,而不用担心货物在运输过程中会受到损坏或丢失。同样,Docker容器可以将应用程序及其运行环境打包在一起,然后在不同的机器上运行,而不用担心环境差异导致的问题。
本文主要是对docker学习方面进行介绍,想要了解docker的具体构造,可以在网页上搜索“什么是docker”来知晓docker的底层架构,与它和虚拟机有什么区别
docker的安装(包括Windows的安装和Linux的安装)
Windows的安装
在Windows上安装首先需要安装wsl(win11默认安装)
- 打开控制面板
- 点击程序,点开“启用或关闭Windows功能”
- 打开Hype-V,适用于Linux的Windows子系统,虚拟机平台这三个功能
在网页上搜素docker进入docker的官网,这里小编把官网给到大家
https://www.docker.com/
此外也可以下载小编云盘中的
https://pan.xunlei.com/s/VOHf5QcQt-f3RWlIK01RcQusA1?pwd=x4hu
在这里选择Windows版本下载,下载完成会有一个安装包
点开exe文件,以此点击下一步即可
判断是否安装成功,可以打开命令行输入
docker -v
出现版本号,如下图,则说明安装成功
Linux安装(Ubuntu)
- 更新包的引擎
sudo apt-get update
- 安装必要的包
sudo apt-get install apt-transport-https ca-certificates curl gnupg-agent software-properties-common
- 添加Docker的官方GPG密钥
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
- 将Docker的APT仓库添加到系统中
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/u
- 安装最新版本的Docker CE(社区版)和containerd
sudo apt-get install docker-ce docker-ce-cli containerd.io
- 验证Docker是否安装成功
sudo docker run hello-world
验证成功,就像下图一样(两种方式下载都可以使用上述验证方法)
docker的基本使用方法
docker拉取镜像
打开终端,这里主要使用的命令是
docker pull .
这里“.“ 是镜像的名字,就比如上述验证docker安装是否成功中的hello-world,当然我们会发现上述我们直接使用了docker运行这个hello-world镜像,如果我们docker中没有这个镜像,docker会为我们自动拉取这个镜像,这个镜像是从哪里拉取的呢,创建docker的大佬们也创建了一个网站叫做docker hub,小编在这里附上docker hub的网站:
hub.docker.com
当然这里需要使用”魔法“才可以访问网站,这时候我们需要进行和Linux换源一样的操作,给docker换源,步骤如下:
- 打开docker设置,找到docker engine这一栏
- 在这里点击里面,加入以下内容,当然这个网站会变,所以需要各位不定时的更新
"registry-mirrors": [
"https://docker.1ms.run",
"https://docker.xuanyuan.me"
]
- 点击Apple & restart
当然如果是windows可以直接在docker界面搜索所需要的相关镜像,点击上面搜索框即可。
docker查看所有镜像
docker images
docker 运行镜像
小编先给上公式
docker run [选项] 镜像名[:标签]
比如下面命令
docker run --name hellow-world hello-world:latest
创建一个docker名字为hellow-world的容器,并运行它,在运行完之后我们可以打开docker,点击container这一栏会发现,多了一个叫名字为hellow-world的容器
当然还有很多选项,小编这里分享几个常见的选项
选项 | 描述 |
---|---|
-d | 后台运行容器(detached mode)。 |
-p | 端口映射,格式为 宿主机端口:容器端口。 |
-e | 设置环境变量,格式为 变量名=值。 |
-v | 挂载卷,格式为 宿主机路径:容器路径。 |
--name | 为容器指定一个名称。 |
--rm | 容器退出后自动删除容器。 |
--network | 指定容器的网络模式。 |
--restart | 设置容器的重启策略。 |
-it | 交互模式,分配一个伪终端。 |
比如我使用下面命令 |
docker run --name my-linux -it ubuntu:latest /bin/bash
在docker创建一个Linux系统,效果如下图
学习计算机的大学生肯定会学习数据库中的MySQL,大佬们也做出了MySQL的镜像,大家可以去试试,到时候在同学为配环境焦头烂额时候,可以在同学们露一手哈哈哈哈哈。这里小编附上
docker run -d --name my-mysql -e MYSQL_ROOT_PASSWORD=123456 -v /my/own/datadir:/var/lib/mysql mysql:latest
当我们用命令启动一次后就会创建container,之后可以直接在docker中进行启动
点击开始就可以
在下图中就是container中的终端
查看容器状态
运行容器后,可以通过以下命令查看容器的状态:
docker ps
查看所有容器(包括已停止的):
docker ps -a
这里我启动了我的docker中的Linux
删除容器和镜像
在我们不需要对应容器时候可以删除容器
docker rm 容器ID或名称
删除镜像
docker rmi [选项] 镜像ID或镜像名[:标签]
当然可以在docker desktop中直接删除,在没有删除镜像创建的容器时候是不可以删除对应的镜像的。
docker剩下命令
当然docker的命令远远不止这些,我们可以直接敲出
docker
这个命令了解它所有的命令
这里我们可以通过
docker command-name --help
来了解docker 该命令下一些选项的作用
比如我想要了解run这个命令中的一些选项,直接输入:
docker run --help
总结
小编在这篇文章中主要介绍了docker的简单定义,如何安装docker还有docker一些命令的简单使用。下期小编打算和大家分享docker中一个很重要的部分,就是dockerfile和docker-compose的书写以及他们如何运行。在之后我也会和大家分享关于其他的docker命令的心得。如果文章中有问题可以在评论区指出我的错误,小编在这里先感谢大佬们指出的错误,给大家磕一个,祝大家新年快乐