Docker安装

一、Docker是什么

Docker 是一个开源的应用容器引擎,基于Go语言并遵从Apache2.0协议开源。让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的 Linux或Windows操作系统的机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。

二、Docker 核心概念

docker客户端(Client):连接docker主机进行操作;

docker主机(Host):安装了Docker程序的机器(Docker直接安装在操作系统之上);

docker镜像(Image):Docker 镜像(Image),就相当于是一个 root 文件系统。比如官方镜像 ubuntu:16.04 就包含了完整的一套 Ubuntu16.04 最小系统的 root 文件系统。

docker容器(Container):镜像(Image)和容器(Container)的关系,就像是面向对象程序设计中的类和实例一样,镜像是静态的定义,容器是镜像运行时的实体。容器可以被创建、启动、停止、删除、暂停等。

docker仓库(Repository):仓库可看成一个代码控制中心,用来保存镜像。

Docker 使用客户端-服务器 (C/S) 架构模式,使用远程API来管理和创建Docker容器。

Docker 容器通过 Docker 镜像来创建。

容器与镜像的关系类似于面向对象编程中的对象与类。

 三、Docker 版本

Docker有两个版本:社区版Community Edition (CE) 和 企业版Enterprise Edition (EE)。

Docker Community Edition(CE)主要是适合单个开发人员和小团队使用Docker容器进行应用程序的开发。Docker CE有三种更新通道:稳定的(Stable)、测试中的(Test)和每日夜间更新(Nightly)。

Stable提供了最新的通用稳定的版本。Test 提供了准备好测试的预发布版本,可能bug较多。Nightly提供正在进行开发的最新版本,每日夜间发布一次。一般情况下,为了避免一些不必要的麻烦使用稳定版本,当然你可能要为了尝鲜,可以试着用测试中版本或夜间更新的版本。

 四、 在linux虚拟机上安装docker

1、 检查内核版本,必须是3.10及以上 ,采用命令“uname ‐r”

[root@icoolkj ~]# uname -r
5.10.84-10.2.al8.x86_64
[root@icoolkj ~]# 

2、安装docker-ce 

 1)安装所需软件包

yum-utils 提供了 yum-config-manager ,并且 device mapper 存储驱动程序需要 device-mapper-persistent-data 和 lvm2。

[root@icoolkj ~]# yum install -y yum-utils device-mapper-persistent-data lvm2
..............
..............
完毕!
[root@icoolkj ~]# 

776998c8b4456d16375f1054a4c22293.png

2)设置yum国内镜像源(选其一)

//官方源地址(比较慢)
[root@icoolkj ~]#  yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
//阿里云
[root@icoolkj ~]#  yum-config-manager --add-repo 
http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
//清华大学源 
[root@icoolkj ~]#  yum-config-manager --add-repo https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/centos/docker-ce.repo

3)yum指令安装docker-ce

[root@icoolkj ~]# yum install docker-ce

35a2d085660b69f721fe7f4e9d369016.png

3、启动docker

[root@icoolkj ~]# systemctl start docker
[root@icoolkj ~]# 

4、开机启动docker(必要)

[root@icoolkj ~]# systemctl enable docker
[root@icoolkj ~]# 

 5、docker版本 

[root@icoolkj ~]# docker -v
Docker version 20.10.16, build aa7e414
[root@icoolkj ~]# 

 当然,若不想用docker,想停止可以用“systemctl stop docker”命令。

五、常用命令

attach      Attach to a running container 	      # 当前shell下attach连接指定运行的镜像
build       Build an image from a Dockerfile        # 通过Dockerfile定制镜像
commit      Create a new image from a container changes  #提交当前容器为新的镜像
cp          Copy files/folders between a container and the local filesystem #从容器中拷贝指定文件或目录到宿主机中
create      Create a new container 		      # 创建一个新的容器,同run,但不启动容器
diff        Inspect changes to files or directories on a container‘s filesystem #查看docker容器的变化
events      Get real time events from the server    # 从docker服务获取容器实时事件
exec        Run a command in a running container    # 在已存在的容器上运行命令
export      Export a container filesystem as a tar archive # 导出容器的内容流作为一个tar归档文件[对应import]
history     Show the history of an image         # 展示一个镜像形成历史
images      List images                          # 列出系统当前的镜像
import      Import the contents from a tarball to create a filesystem image # 从tar包中的内容创建一个新的文件系统镜像[对应export]
info        Display system-wide information      # 显示系统相关信息
inspect     Return low-level information on Docker objects # 查看容器详细信息
kill        Kill one or more running containers  # 杀死指定的docker容器
load        Load an image from a tar archive or STDIN # 从一个tar包加载一个镜像[对应save]
login       Log in to a Docker registry	   # 注册或者登录一个docker源服务器
logout      Log out from a Docker registry	   # 从当前Docker registry退出
logs        Fetch the logs of a container        # 输出当前容器日志信息
pause       Pause all processes within one or more containers 	 # 暂停容器
port        List port mappings or a specific mapping for the container # 查看映射端口对应容器内部源端口
ps          List containers			   # 列出容器列表
pull        Pull an image or a repository from a registry # 从docker镜像源服务器拉取指定镜像或库镜像
push        Push an image or a repository to a registry   # 推送指定镜像或者库镜像至docker源服务器
rename      Rename a container		   # 给docker容器重新命名
restart     Restart one or more containers	   # 重启运行的容器
rm          Remove one or more containers	   # 移除一个或者多个容器
rmi         Remove one or more images		   # 移除一个或者多个镜像[无容器使用该镜像时才可删除,否则需删除相关容器才可继续或 -f 强制删除]
run         Run a command in a new container	   # 创建一个新的容器并运行一个命令
save        Save one or more images to a tar archive (streamed to STDOUT by default) # 保存一个镜像为一个tar包[对应load]
search      Search the Docker Hub for images     # 在docker hub中搜索镜像
start       Start one or more stopped containers # 启动容器
stats       Display a live stream of container(s) resource usage statistics # 实时显示容器资源使用统计
stop        Stop one or more running containers  # 停止容器
tag         Create a tag TARGET_IMAGE that refers to SOURCE_IMAGE # 给源中镜像打标签
top         Display the running processes of a container   	  # 查看容器中运行的进程信息
unpause     Unpause all processes within one or more containers # 取消暂停容器
update      Update configuration of one or more containers	  # 更新一个或多个容器配置
version     Show the Docker version information  # 查看docker版本号  
wait        Block until one or more containers stop, then print their exit codes # 截取容器停止时的退出状态值

六、安装错误总结 

1、docker运行时提示错误

[root@icoolkj ~]# systemctl start docker
Failed to start docker.service: Unit docker.service not found.
[root@icoolkj ~]# 

安装docker的时输入的指令”yum y install docker”不准确,导致系统以为我们想装的是podman-docker 。

删除原有的podman-docker并输入准确的安装指令,指定docker版本类型进行安装(参考步骤四)。

[root@icoolkj ~]# dnf remove podman
..............
..............
完毕!
[root@icoolkj ~]#

 

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值