一、Docker简介
Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何Linux机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间没有任何接口(类似iPhone的app)。几乎没有性能开销,可以很容易地在机器和云之间移植。
Docker的主要优势如下:
- 快速,一致地交付您的应用程序。Docker允许开发人员在本地构建,打包和测试代码,然后将其作为一个可移植的容器交付给任何Linux机器运行。无论是物理机、虚拟机、公有云、私有云,甚至是笔记本,Docker都可以确保软件快速、可靠、一致地运行。
- 响应式部署和扩展。Docker是基于容器的平台,允许高度可移植的工作负载。Docker容器可以在任何Docker引擎上运行,包括开发人员的本地环境、测试环境、生产环境以及云服务。
- 充分利用系统资源。Docker容器不需要额外的hypervisor管理程序,它是在内核级别实现虚拟化,可以运行更多的容器,并且启动容器所需时间更短。
二、Docker安装(Windows版)
1.下载地址:https://hub.docker.com/editions/community/docker-ce-desktop-windows
2.我们选择Windows 版下载后,直接进行点击文件安装;
3.完成安装后,我们可以在命令行中使用 docker version 检查是否安装成功;
C:\Users\LENOVO>docker version
Client:
Cloud integration: v1.0.35+desktop.11
Version: 25.0.3
API version: 1.44
Go version: go1.21.6
Git commit: 4debf41
Built: Tue Feb 6 21:13:02 2024
OS/Arch: windows/amd64
Context: default
Server: Docker Desktop 4.28.0 (139021)
Engine:
Version: 25.0.3
API version: 1.44 (minimum version 1.24)
Go version: go1.21.6
Git commit: f417435
Built: Tue Feb 6 21:14:25 2024
OS/Arch: linux/amd64
Experimental: false
containerd:
Version: 1.6.28
GitCommit: ae07eda36dd25f8a1b98dfbf587313b99c0190bb
runc:
Version: 1.1.12
GitCommit: v1.1.12-0-g51d5e94
docker-init:
Version: 0.19.0
GitCommit: de40ad0
4.Windows 10 环境下的镜像加速
在系统菜单选择 Settings,打开配置窗口后左侧导航菜单选择 Docker Engine。配置的镜像地址。
"registry-mirrors": [
"https://docker.mirrors.ustc.edu.cn",
"https://registry.docker-cn.com",
"http://hub-mirror.c.163.com",
"https://mirror.ccs.tencentyun.com"
]
5.自定义镜像资源路径
在系统菜单选择 Settings,打开配置窗口后左侧导航菜单选择 Resources。配置 Disk image location。
三、Docker安装(Linux 环境安装)
1.环境准备
(1)操作系统:CentOS 7.6.1810
2.下载地址
使用阿里云镜像地址进行下载
https://mirrors.aliyun.com/docker-ce/
3.安装时 使用 yum 进行安装 (演示环境:centos 7)
# step 1: 安装必要的一些系统工具
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
# Step 2: 添加软件源信息
sudo yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
# Step 3: 更新并安装Docker-CE
sudo yum makecache fast
sudo yum -y install docker-ce
# Step 4: 版本查看
docker -v
# Step 5: 开启Docker服务
sudo service docker start
#step 7:设置 Docker 开机启动
systemctl enable docker
#step 8:查看docker 运行状态
systemctl status docker
# 注意:
# 官方软件源默认启用了最新的软件,您可以通过编辑软件源的方式获取各个版本的软件包。例如官方并没有将测试版本的软件源置为可用,您可以通过以下方式开启。同理可以开启各种测试版本等。
# vim /etc/yum.repos.d/docker-ee.repo
# 将[docker-ce-test]下方的enabled=0修改为enabled=1
#
# 安装指定版本的Docker-CE:
# Step 1: 查找Docker-CE的版本:
# yum list docker-ce.x86_64 --showduplicates | sort -r
# Loading mirror speeds from cached hostfile
# Loaded plugins: branch, fastestmirror, langpacks
# docker-ce.x86_64 17.03.1.ce-1.el7.centos docker-ce-stable
# docker-ce.x86_64 17.03.1.ce-1.el7.centos @docker-ce-stable
# docker-ce.x86_64 17.03.0.ce-1.el7.centos docker-ce-stable
# Available Packages
# Step2: 安装指定版本的Docker-CE: (VERSION例如上面的17.03.0.ce.1-1.el7.centos)
# sudo yum -y install docker-ce-[VERSION]
4.安装校验
root@iZbp12adskpuoxodbkqzjfZ:$ docker version
Client:
Version: 17.03.0-ce
API version: 1.26
Go version: go1.7.5
Git commit: 3a232c8
Built: Tue Feb 28 07:52:04 2017
OS/Arch: linux/amd64
Server:
Version: 17.03.0-ce
API version: 1.26 (minimum version 1.12)
Go version: go1.7.5
Git commit: 3a232c8
Built: Tue Feb 28 07:52:04 2017
OS/Arch: linux/amd64
Experimental: false
5.升级 docker 版本(在线卸载旧版本)
(1)查询 docker 安装文件
rpm -qa | grep docker
(2)卸载安装文件
yum remove docker-1.13.1-96.gitb2f74b2.el7.centos.x86_64
yum remove docker-client-1.13.1-96.gitb2f74b2.el7.centos.x86_64
yum remove docker-common-1.13.1-96.gitb2f74b2.el7.centos.x86_64
(3)安装新版本
安装最新版本
curl -fsSL https://get.docker.com/ | sh
或者安装指定版本的Docker-CE:
# 安装指定版本的Docker-CE:
# Step 1: 查找Docker-CE的版本:
# yum list docker-ce.x86_64 --showduplicates | sort -r
# Loading mirror speeds from cached hostfile
# Loaded plugins: branch, fastestmirror, langpacks
# docker-ce.x86_64 17.03.1.ce-1.el7.centos docker-ce-stable
# docker-ce.x86_64 17.03.1.ce-1.el7.centos @docker-ce-stable
# docker-ce.x86_64 17.03.0.ce-1.el7.centos docker-ce-stable
# Available Packages
# Step2: 安装指定版本的Docker-CE: (VERSION例如上面的17.03.0.ce.1-1.el7.centos)
# sudo yum -y install docker-ce-[VERSION]
(4) 查看 docker 版本信息
docker -v
四、docker常用命令
# 查看镜像
#查看本地镜像资源
docker images
#查找镜像
docker search [images]
#下载镜像
docker pull [images:tag]
#删除一个镜像
docker rmi 镜像image id
#删除全部镜像
docker rmi $(docker images -q)
#查看Docker系统信息,包括镜像和容器数
docker info
#查看容器
docker ps //列出当前所有正在运行的 container
docker ps -a //查看所有 container(包含历史,即运行过的 container)
docker ps -l //列出最近一次启动的 container
docker ps -q //列出最近一次运行的 container ID
# 再次启动容器
docker start/stop/restart <container> #:开启/停止/重启 container
docker start [container_id] #:再次运行某个 container (包括历史 container)
# 将运行的容器全部停止
$ docker stop `docker ps - q`
# 删除容器
docker rm <container...> #:删除一个或多个 container
# 将容器全部删除
$ docker rm -f $(docker ps -aq)
#重启命令
systemctl restart docker
#查看docker 运行状态
systemctl status docker
#容器和宿主机之间文件复制
docker cp [文件目录容器 ID:内部路径]
docker cp [容器 ID:内部路径文件目录]