Docker安装

# 1、yum 包更新到最新 
yum update
# 2、安装需要的软件包, yum-util 提供yum-config-manager功能,另外两个是devicemapper驱动依赖的
yum install -y yum-utils device-mapper-persistent-data lvm2
# 3、 设置yum源
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
# 4、 安装docker,出现输入的界面都按 y 
yum install -y docker-ce
# 5、 查看docker版本,验证是否验证成功
docker -v

环境查看

#uname -r 系统内核3.10 以上
[root@xsxy /]# uname -r
3.10.0-1127.10.1.el7.x86_64
[root@xsxy /]# 

[root@xsxy /]# cat /etc/os-release 
NAME="CentOS Linux"
VERSION="7 (Core)"
ID="centos"
ID_LIKE="rhel fedora"
VERSION_ID="7"
PRETTY_NAME="CentOS Linux 7 (Core)"
ANSI_COLOR="0;31"
CPE_NAME="cpe:/o:centos:centos:7"
HOME_URL="https://www.centos.org/"
BUG_REPORT_URL="https://bugs.centos.org/"

CENTOS_MANTISBT_PROJECT="CentOS-7"
CENTOS_MANTISBT_PROJECT_VERSION="7"
REDHAT_SUPPORT_PRODUCT="centos"
REDHAT_SUPPORT_PRODUCT_VERSION="7"

[root@xsxy /]# 

开始安装docker

1.卸载旧版本

较旧的 Docker 版本称为 docker 或 docker-engine 。如果已安装这些程序,请卸载它们以及相关的依赖项。

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

2.安装 Docker Engine-Community

使用 Docker 仓库进行安装
在新主机上首次安装 Docker Engine-Community 之前,需要设置 Docker 仓库。之后,您可以从仓库安装和更新 Docker。

3.设置仓库

安装所需的软件包。yum-utils 提供了 yum-config-manager ,并且 device mapper 存储驱动程序需要 device-mapper-persistent-data 和 lvm2。

yum install -y yum-utils \
  device-mapper-persistent-data \
  lvm2

使用以下命令来设置稳定的仓库。

yum-config-manager \
    --add-repo \
    http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

4.安装Docker CE

1.执行以下命令,更新yum的包索引

yum makecache fast

5.安装 Docker Engine-Community

安装最新版本的 Docker Engine-Community 和 containerd,或者转到下一步安装特定版本:
ce 社区 ee企业

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

启动 Docker。

systemctl start docker

6.查看是否安装成功

docker version

在这里插入图片描述

7.通过运行 hello-world

映像来验证是否正确安装了 Docker Engine-Community 。

docker run hello-world

在这里插入图片描述

8.查看下载Hello-word 镜像

[root@xsxy ~]# docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
hello-world         latest              bf756fb1ae65        6 months ago        13.3kB

阿里云镜像加速

1.登陆阿里云,找到容器镜像服务
2.找到镜像加速器

sudo mkdir -p /etc/docker

sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["https://wqnx8lwt.mirror.aliyuncs.com"]
}
EOF
#关闭
sudo systemctl daemon-reload
#重启
sudo systemctl restart docker

docker常用命令

帮助命令

docker version #版本信息
docker info    #系统信息,包括镜像和容器的数量
docker 命令 --help #万能命令

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

docker容器命令

在这里插入图片描述

容器列表

 docker ps
 
 docker ps -a # 查看所有容器 -----包含正在运行 和已停止的

导入和导出容器

export:导出容器的内容流作为一个tar归档文件(对应import命令);

import:从tar包中的内容创建一个新的文件系统再导入为镜像(对应export命令);

示例:

# 导出
# docker export 容器ID > tar文件名
docker export abc > aaa.tar

# 导入
# cat tar文件 | docker import - 自定义镜像用户(包名)/自定义镜像名:自定义镜像版本号
cat aaa.tar | docker import - test/mytest:1.0.1

在这里插入图片描述

进入正在运行的容器

进入正在运行的容器,并以命令行交互:

docker exec -it 容器ID bashShell

重新进入:

docker attach 容器ID

docker exec 和 docker attach 区别:

● attach直接进入容器启动命令的终端,不会启动新的进程,用 exit 退出会导致容器的停止

● exec是在容器中打开新的终端,并且可以启动新的进程,用 exit 退出不会导致容器的停止

如果有多个终端,都对同一个容器执行了 docker attach,就会出现类似投屏显示的效果。一个终端中输入输出的内容,在其他终端上也会同步的显示。

容器和宿主机文件拷贝

容器内文件拷贝到宿主机:

docker cp 容器ID:容器内路径 目的主机路径

在这里插入图片描述

宿主机文件拷贝到容器中:

docker cp 主机路径 容器ID:容器内路径

docker容器卷

卷就是目录或文件,存在于一个或多个容器中,由docker挂载到容器,但不属于联合文件系统,因此能够绕过UnionFS,提供一些用于持续存储或共享数据。

特性:卷设计的目的就是数据的持久化,完全独立于容器的生存周期,因此Docker不会在容器删除时删除其挂载的数据卷

特点:

● 数据卷可以在容器之间共享或重用数据

● 卷中的更改可以直接实施生效

● 数据卷中的更改不会包含在镜像的更新中

● 数据卷的生命周期一直持续到没有容器使用它为止

运行一个带有容器卷存储功能的容器实例:

docker run -it --privileged=true -v 宿主机绝对路径目录:容器内目录[rw | ro] 镜像名

在这里插入图片描述

可以使用 docker inspect 查看容器绑定的数据卷。

在这里插入图片描述
在这里插入图片描述

权限:
● rw:读写 (默认是)
● ro:只读。如果宿主机写入内容,可以同步给容器内,容器内可以读取。

–privileged=true 权限扩容,保证root用户在容器有最高权限

在这里插入图片描述

容器卷的继承:

# 启动一个容器
docker run -it --privileged=true /tmp/test:/tmp/docker --name u1 ubuntu /bin/bash

# 使用 --volumes-from 继承 u1的容器卷映射配置
docker run -it --privileged=true --volumes-from u1 --name u2 ubuntu
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

yzhSWJ

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值