一、Docker简介

Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何Linux机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间没有任何接口(类似iPhone的app)。几乎没有性能开销,可以很容易地在机器和云之间移植。

Docker的主要优势如下:

  1. 快速,一致地交付您的应用程序。Docker允许开发人员在本地构建,打包和测试代码,然后将其作为一个可移植的容器交付给任何Linux机器运行。无论是物理机、虚拟机、公有云、私有云,甚至是笔记本,Docker都可以确保软件快速、可靠、一致地运行。
  2. 响应式部署和扩展。Docker是基于容器的平台,允许高度可移植的工作负载。Docker容器可以在任何Docker引擎上运行,包括开发人员的本地环境、测试环境、生产环境以及云服务。
  3. 充分利用系统资源。Docker容器不需要额外的hypervisor管理程序,它是在内核级别实现虚拟化,可以运行更多的容器,并且启动容器所需时间更短。

二、Docker安装(Windows版)

1.下载地址:https://hub.docker.com/editions/community/docker-ce-desktop-windows

2.我们选择Windows 版下载后,直接进行点击文件安装;

docker win上和linux上有什么区别 docker windows linux_linux


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"
  ]

docker win上和linux上有什么区别 docker windows linux_Docker_02


5.自定义镜像资源路径

在系统菜单选择 Settings,打开配置窗口后左侧导航菜单选择 Resources。配置 Disk image location。

docker win上和linux上有什么区别 docker windows linux_windows_03

三、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:内部路径文件目录]

进入容器查看配置命令

  1. 使用 docker exec 命令加上 -it 选项(-i 代表交互模式,-t 分配一个伪终端)以及你想要执行的命令(在这种情况下是 bash)来进入容器。
docker exec -it nginx-container bash
  1. 如果你的容器没有名称,但你知道它的ID(比如 abcd12345678),你也可以使用ID来代替名称:
docker exec -it abcd12345678 bash