Docker学习笔记一 概念、安装、镜像加速

时间:2022-10-06 20:35:15

本文地址:https://www.cnblogs.com/veinyin/p/10406378.html 

Docker 是一个容器,可以想象成一个轻便的虚拟机,但不虚拟硬件和操作系统。

优点:启动快、占用内存小、运行环境一致,便于开发测试、便于维护。

基本概念:镜像、容器、仓库

镜像:一个特殊的文件系统,提供容器运行时所需文件以及运行时的配置参数,不包含动态数据,内容在构建之后不改变,由多层文件系统联合而成。

容器:相当于镜像的一个实例,实质是进程。容器应将数据写入数据卷中,避免写入容器存储层。

仓库:存储、分发镜像,可以在其他服务器上使用某个镜像。

安装

macOS

1. homebrew 下载安装

brew cask install docker

2. 安装完成后,在应用程序中点击 docker 图标,运行 docker

3. 打开终端,输入以下命令,出现版本号(必须有第2步操作)

docker --version

4. 在终端中继续输入以下命令,出现 docker 相关信息

docker info

5. 运行 Nginx 服务器,访问 http://localhost 出现 Welcome to nginx! 则docker 安装成功

docker run -d -p 80:80 --name webserverName nginx

6. 停止与删除命令

docker stop webserverName
docker rm webserverName

Linux (Ubuntu)

以下命令全部加 sudo 或者以 root 身份操作

1. 由于apt官方库里的docker版本可能比较旧,卸载旧版本

sudo apt-get remove docker docker-engine docker-ce docker.io

2. 安装可选内核模块包

sudo apt-get update
sudo apt-get install linux-image-extra-$(uname -r) linux-image-extra-virtual
3. 安装使用 HTTPS 传输的协议包和 CA 证书 
sudo apt-get install -y apt-transport-https ca-certificates curl software-properties-common

4. 添加 Docker 官方的 GPG 秘钥

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -

5. 向 source.list 中添加 Docker 软件源

sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"

stable 指稳定版,edge 最新版,test 测试版

6. 安装 Docker CE

sudo apt-get update  // 更新 apt 索引包
sudo apt-get install docker-ce

Docker CE 可能需要安装特定版本,下面命令会列出可用版本

apt-cache madison docker-ce

安装某个特定版本的 Docker CE

sudo apt-get install docker-ce=version
7. 启动
sudo systemctl enable docker
sudo systemctl start docker
sudo docker run hello-world

看到输出 Hello from Docker!则安装成功

 

镜像加速

macOS

任务栏 docker 图标 > Perferences > Daemon > Registry mirrors 填入加速器地址,点击 Apply & Restart 按钮

https://registry.docker-cn.com

打开终端,输入 docker info,如果倒数几行出现如下内容,则配置成功

Registry Mirrors:
https://registry.docker-cn.com

Ubuntu

在 /etc/docker/deamon.json 中写入以下内容并重启服务,如文件不存在则新建文件

{
"Registry Mirrors": [
"https://registry.docker-cn.com"
]
}

必须要用双引号引起来!这是 json 文件,必须符合 json 规范,否则会出错!

END~~~≥ω≤