Docker的环境搭建与简单的使用

1.Docker简介

Docker是一个开源的容器引擎,它有助于更快地交付应用。 Docker可将应用程序和基础设施层隔离,并且能将基础设施当作程序一样进行管理。使用 Docker可更快地打包、测试以及部署应用程序,并可以缩短从编写到部署运行代码的周期。
Docker 是一个开源的商业产品,有两个版本:社区版(Community Edition,缩写为 CE)和企业版(Enterprise Edition,缩写为 EE)。企业版包含了一些收费服务,个人开发者一般用不到。下面的介绍都针对社区版。

2.Docker架构

  1. Docker daemon( Docker守护进程):
    Docker daemon是一个运行在宿主机( DOCKER-HOST)的后台进程。可通过 Docker客户端与之通信。
  2. Client( Docker客户端):
    Docker客户端是 Docker的用户界面,它可以接受用户命令和配置标识,并与 Docker daemon通信。图中, docker build等都是 Docker的相关命令。
  3. Images( Docker镜像):
    Docker镜像是一个只读模板,它包含创建 Docker容器的说明。它和系统安装光盘有点像,使用系统安装光盘可以安装系统,同理,使用Docker镜像可以运行 Docker镜像中的程序。
  4. Container(容器):
    容器是镜像的可运行实例。镜像和容器的关系有点类似于面向对象中,类和对象的关系。可通过 Docker API或者 CLI命令来启停、移动、删除容器。
  5. Registry(注册中心):
    1. Docker Registry是一个集中存储与分发镜像的服务。构建完 Docker镜像后,就可在当前宿主机上运行。但如果想要在其他机器上运行这个镜像,就需要手动复制。此时可借助 Docker Registry来避免镜像的手动复制。
    2. 一个 Docker Registry可包含多个 Docker仓库,每个仓库可包含多个镜像标签,每个标签对应一个 Docker镜像。这跟 Maven的仓库有点类似,如果把 Docker Registry比作 Maven仓库的话,那么 Docker仓库就可理解为某jar包的路径,而镜像标签则可理解为jar包的版本号。

3.Docker安装部署

1.安装部署前

  1. 卸载旧版本(没有可以跳过)
	  sudo yum remove docker \
	             	  docker-client \
	                  docker-client-latest \
	                  docker-common \
	                  docker-latest \
	                  docker-latest-logrotate \
	                  docker-logrotate \
	                  docker-engine
  1. 查看自己CentOS系统内核是否大于3.1–>uname -r

    官方给出目前只支持(CentOS7和CentOS8)
    在这里插入图片描述

  2. 更新yum–>yum -y update
    在这里插入图片描述

  3. 安装软件包–>yum install -y yum-utils device-mapper-persistent-data lvm2

    1. yum-util 提供yum-config-manager功能
    2. 其他两个是devicemapper驱动依赖的
      在这里插入图片描述
  4. 设置yum源–>yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
    在这里插入图片描述

2.安装部署

  1. 查询安装版本–> yum list docker-ce --showduplicates | sort -r
    在这里插入图片描述
  2. 安装最新版本–>yum install -y docker-ce
    在这里插入图片描述
    安装成功:
    在这里插入图片描述

3.启动及测试

  1. 启动docker–>systemctl start docker
  2. 设置docker开机自启–> systemctl enable docker
    在这里插入图片描述
  3. 查看安装版本是否安装成功–>docker version
    在这里插入图片描述
  4. 其他:
    1. 卸载docker–> yum -y remove docker-engine
    2. 启动报错:
      Job for docker.service failed because the control process exited with error code.See “systemctl status docker.service” and “journalctl -xe” for details
      解决–>删除/etc/docker/daemon.json

4.docker常用命令

docker常用命令   
命令 作用

docker run containerName    

运行
docker logs containerName/containerId   动态查看容器日志
docker stop containerName/containerId     关闭容器
docker start containerName/containerId     启动容器
docker restart containerName/containerId 重启容器
docker rm –f containerName/containerId 删除容器
docker rmi -f IMAGE_ID/ REPOSITORY:TAG 删除镜像
docker search images_name 查看镜像列表
docker pull images_name  从公网拉取一个镜像
docker command --help   查看帮助
docker port containerId   看容器的端口映射情况
docker ps  查看正在运行的容器
docker ps -a 查看所有的容器
docker exec -it containerId /bin/bash     进入容器
docker network ls     查看docker网络
 docker top containerName 查看容器pid
docker images   查看已有镜像  


   

 

 

 

 

 

 

 

 

 

 

 

   

 

 

   

    

1. 搜索镜像–> docker search java

可使用 docker search命令搜索存放在 Docker Hub(这是docker官方提供的存放所有docker镜像软件的地方,类似maven的中央仓库)中的镜像。执行该命令后, Docker就会在Docker Hub中搜索含有 java这个关键词的镜像仓库。
在这里插入图片描述

1.NAME:镜像仓库名称。
2.DESCRIPTION:镜像仓库描述。
3.STARS:镜像仓库收藏数,表示该镜像仓库的受欢迎程度,类似于 GitHub的 stars0
4.OFFICAL:表示是否为官方仓库,该列标记为[0K]的镜像均由各软件的官方项目组创建和维护。
5.AUTOMATED:表示是否是自动构建的镜像仓库
  •  
注意:使用docker查找或下载镜像可能会超时,所以我们需要为docker配置国内的镜像加速器 

我们可以借助阿里云的镜像加速器,登录阿里云
在这里插入图片描述
1). 进入查看docker是否有配置文件–>cd /etc/docker -->ll
在这里插入图片描述
2). 我这里没有需要新建,如果有就修改–>vim daemon.json
在这里插入图片描述
3). 重新加载配置文件–>systemctl daemon-reload
4). 重新启动–> systemctl restart docker.

2. 下载镜像

使用命令docker pull命令即可从 Docker Registry上下载镜像,执行该命令后,Docker会从 Docker Hub中的 java仓库下载最新版本的 Java镜像。如果要下载指定版本则在java后面加冒号指定版本,例如:docker pull java:8
在这里插入图片描述

3.列出镜像

使用 docker images命令即可列出已下载的镜像

在这里插入图片描述

1.REPOSITORY:镜像所属仓库名称。
2.TAG:镜像标签。默认是 latest,表示最新。
3.IMAGE ID:镜像 ID,表示镜像唯一标识。
4.CREATED:镜像创建时间。
5.SIZE: 镜像大小。
  •  

4.删除本地镜像

使用 docker rmi命令即可删除指定镜像,如: docker rmi java
我就不沾图了,刚装好啊 (!-.-)

2.容器相关命令

1.新建并启动容器

使用以下docker run <镜像名>命令即可新建并启动一个容器,该命令是最常用的命令,它有很多选项,下面将列举一些常用的选项。

docker run -d -p 8055:80 nginx
  • 1

在这里插入图片描述

这样就能启动一个 Nginx容器。在本例中,为 docker run添加了两个参数,含义如下:

-d 后台运行
-p 宿主机端口:容器端口 #开放容器端口到宿主机端口
访问 http://Docker宿主机 IP:91/,将会看到nginx的主界面如下:

在这里插入图片描述

需要注意的是,使用 docker run命令创建容器时,会先检查本地是否存在指定镜像。如果本地不存在该名称的镜像, Docker就会自动从 Docker Hub下载镜像并启动一个 Docker容器。

该命令还有一个网络配置参数,如下所示

–net选项:指定网络模式,该选项有以下可选参数:
–net=bridge:默认选项,表示连接到默认的网桥。
–net=host:容器使用宿主机的网络。
–net=container:NAME-or-ID:告诉 Docker让新建的容器使用已有容器的网络配置。
–net=none:不配置该容器的网络,用户可自定义网络配置

おすすめ

転載: blog.csdn.net/wt5264/article/details/115724993