1. Docker简单介绍
1.1 Docker的基本概念
镜像(image):镜像是创建容器的基础,类似于模板。它是一个静态的、只读的文件集合,包含了启动容器所需的所有文件和配置。镜像可以基于另一个镜像构建,并可以添加额外的层来包含应用程序和其依赖项。
容器(container):容器是一个独立的、可执行的软件单元,其中包含了应用程序及其所有依赖项(例如库文件、配置文件等)。容器基于镜像创建,可以在不同的环境中一致地运行。
仓库(repository):Docker 仓库是用来存储和分享 Docker 镜像的地方。Docker Hub 是一个公共的仓库,任何人都可以上传和下载镜像。此外,也可以搭建私有的仓库来存储敏感或专有的镜像。
1.2 Docker的组成
Docker Client客户端:用户通过DockerClient与Docker守护进程进行交互,发送请求并接收响应。
Docker Daemon守护进程:负责接收来自DockerClient的请求,执行诸如创建、运行、停止、删除容器等操作。
Docker Image镜像
Docker Container容器
2. Docker安装
2.1 安装依赖
sudo apt update
sudo apt install apt-transport-https ca-certificates curl gnupg-agent software-properties-common -y
2.2 添加docker官网 GPG 密钥、设置stable 仓库
curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add -
sudo add-apt-repository \
"deb [arch=amd64] https://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable"
正确执行会打印 OK
我在安装时报错了,如下:
curl: (35) OpenSSL SSL_connect: SSL_ERROR_SYSCALL in connection to download.docker.com:443
gpg: no valid OpenPGP data found.
...
这说明连接异常,更换阿里云进行配置GPG 密钥(如下图),以及设置stable仓库,具体命令如下:
curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add -
sudo add-apt-repository \
"deb [arch=amd64] https://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable"
2.3 安装Docker
sudo apt-get update
sudo apt install docker-ce docker-ce-cli containerd.io
安装完成,Docker 服务将会自动启动。你可以输入下面的命令,验证它:
docker --version
sudo systemctl status docker
3. 安装完后使用的一些小问题
3.1 docker pull出permission denied
这是由于当前用户没有在docker用户组中,如果没有docker用户组,可以使用以下命令创建:
sudo groupadd docker
然后执行以下命令将当前用户加入到docker用户组中:
sudo gpasswd -a $USER docker
记得更新用户组
newgrp docker
然后再尝试应该就可以了。
3.2 在 Docker 中创建容器时,为了方便在容器内外进行文件交互,可以使用以下命令:
docker run -it -v /home/usr/mydata:/app/data <image-name> /bin/bash
这样就可以将宿主机上的/home/usr/data 目录挂载到容器内的/app/data 目录。