Docker简单使用

什么是Docker

Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器或Windows 机器上,也可以实现虚拟化,容器是完全使用沙箱机制,相互之间不会有任何接口。

其实关于docker的介绍,具体的百度百科已经十分清楚。说白了,就是一个虚拟化容器,可以将我们原来的一个应用所需要的环境如mysql,redis,es之类的已经打包成镜像一起发布,这样我们就不用在另一台电脑上面重新配置我们的环境。

docker的发展历史也很忐忑,有兴趣的可以了解一下。点击跳转

Docker与虚拟机的区别

在还没学习之前,我也只知道docker是一个容器,可以帮助我们快捷部署项目,或者就没了。然后在继续简单了解一下,会发现docker也是类似一个虚拟机容器的存在,那么我就疑惑了,docker到底和我们的虚拟机有什么区别呢?

我们的docker之所以那么火,其实主要是因为它的轻巧。因为我们之前的虚拟机技术,如vmmare和openstack都比较大,我们可能里面一个linux镜像都要好几g,但是我们的容器化技术把所需要的核心环境提取出来,这样我们的容器就会尽可能的小巧,从g的单位就缩小到了m的单位。

但是大家需要注意,Docker本身并不是容器,它是创建容器的工具,是应用容器引擎。

Docker文档与安装

Docker三大核心概念

docker技术的三大核心概念其实是

  • 镜像(Image)。docker的镜像类似我们Java的class模版,通过一个class模版可以new出多个对象,同样的我们在docker里面可以通过这个镜像可以用来创建多个我们的容器服务。
  • 容器(Container)。docker的容器技术,可以独立的运行一个或者一组应用,这是通过镜像来创建的。
  • 仓库(Repository)。仓库就是用来存放我们的镜像的地方,最常使用的Registry公开服务就是我们的Docker Hub(默认是国外,所以我们如果要使用镜像的话,可以用国内的加速版),也是默认的Registry。

Docker文档

关于Docker的入门和使用,docker的官网已经有了非常详细的文档。地址:https://docs.docker.com/get-started/overview/

Docker安装

关于docker的安装官网提供了三种方式,Mac,Win,Linux。但是因为我们最终的项目都是要在Linux上面要发布的,所以我们就直接在Linux上面安装使用。打开我们的帮助文档Get Docker就可以看到我们的Docker for Linux。在安装的目录下,我们可以看到docker支持很多的linux系统,这里我以Centos为例。

然后我们按照文档操作即可。(注意在在使用命令的时候,我们都要用到root权限)

(1)如果之前安装了docker我们必须先卸载

所以不管我们安装了都可以去操作一下文档提供的命令。

sudo yum remove docker \
                  docker-client \
                  docker-client-latest \
                  docker-common \
                  docker-latest \
                  docker-latest-logrotate \
                  docker-logrotate \
                  docker-engine

(2)安装需要的安装包

yum install -y yum-utils

(3)设置镜像的仓库

在文档提供了的是国外的镜像地址,我们可以换成国内的阿里云。

sudo yum-config-manager \
    --add-repo \
    https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo  #换成我们的国内阿里云

(4)安装docker相关

在安装之前我们可以先使用yum makecache fast命令将我们的yum软件包索引进行更新。

然后我们使用命令进行安装docker

sudo yum install docker-ce docker-ce-cli containerd.io

(5)启动docker并测试

在安装完docker后,我们可以使用以下命令进行启动,并使用docker version进行查看安装成功了没

sudo systemctl start docker

我们可以简单运行一下文档提供的hello-world镜像样例

sudo docker run hello-world

但是在运行的时候可能不成功,因为我们并没有这个镜像。所以它会自己去从我们的阿里云镜像里面去爬去。

通过使用docker images也可以发现我们的本地仓库里面的镜像了

(6)docker卸载

docker卸载也只需要两个步骤。一个是卸载依赖一个是删除目录,分别执行下面两条命令即可。

sudo yum remove docker-ce docker-ce-cli containerd.io
sudo rm -rf /var/lib/docker

(7)配置阿里云镜像

在上面我们之前配置阿里云镜像,但是还是不够快。这里可以登录阿里云,去使用阿里云容器的镜像加速器服务。打开网址https://cr.console.aliyun.com/cn-hangzhou/instances/mirrors后,我们只要登录后就可以看到样例使用。

image-20210205165510124

Docker常用命令

(1)启动docker服务

service start docker

(2)设置开机自启动

可以将docker设置为开启自启,这样就不用每次自己手动命令开启。

sudo systemctl enable docker

(3)拉取镜像

可以到dockerhub其看自己想要的docker镜像,然后进行拉取。

docker pull 项目名:版本号

有时候需要指定版本号,(在dockerhub的tag标签下可以查看)不然就会报错,视情况而定。

Error response from daemon: manifest for 项目名:latest not found: manifest unknown: manifest unknown

(4)运行镜像

sudo docker run 项目名 

(5)查看容器

镜像运行之后就会以容器的形式存在,我们下次如果再需要运行就要使用容器的命令。查看docker所有容器

sudo docker ps -a

(6)启动or关闭容器

#启动容器
sudo docker start 容器id  #可以通过上面命令进行查看
#停止容器
sudo docker stop 容器id 

(7)(继续补充...)

posted @ 2021-04-11 12:39  CryFace  阅读(117)  评论(0编辑  收藏  举报