docker安装部署及常用命令

一. Docker简介

docker是一款容器虚拟技术,运行依赖linux内核。Docker是一个C/S结构。

  1. Docker通过client与Docker Daemon建立通讯,并发送请求给Docker Daemon;
  2. Docker Daemon作为Docker的主体部分,通过Docker Server的提供的功能结构建立通讯请求;
    3.Docker Engine(执行引擎)执行内部的一系列工作,每一项工作都是以一个Job的形式存在;
  3. 当Job的运行过程中需要镜像时,从Docker Registry中下载镜像,并通过镜像管理驱动Graph driver将下载的镜像按照Graph的形式存储;
  4. 通过网络驱动Network driver创建并配置docker的网络环境;
  5. 通过Exec driver来限制Docker执行的资源及用户执行指令;
  6. Lib Container是一项独立的容器管理包,Network driver及Exec Driver都是听过Lib Container来执行对容器的操作。

二. Docker三要素

1.镜像 image

可以创建容器,一个镜像可以创建多个容器。包含了最小的一个linux文件系统,本省也是一个文件也叫镜像文件

2.容器 container

根据镜像文件生产容器,一个容器可以运行一个或一组应用,可以启动,停止,删除。

3.仓库 repository

存放镜像

cat /etc/redhat-release #查看系统版本

三.容器的生命周期

  1. 检查本地是否存在镜像,没有的话就去远程仓库拉取;
  2. 利用镜像启动容器
  3. 在容器镜像外面加一层可写层 writable
  4. 从宿主机网桥接口中虚拟一个接口到容器
  5. 从一个地址池配置一个IP地址给容器
  6. 执行用户指令
  7. 指令执行完成后容器终止

四.Docker安装

1.移出系统中历史的docker

//卸载旧版本
sudo yum remove docker \
                  docker-client \
                  docker-client-latest \
                  docker-common \
                  docker-latest \
                  docker-latest-logrotate \
                  docker-logrotate \
                  docker-engine

2. 安装GCC

//安装Gcc
yum -y install gcc

//安装gcc-c++
yum -y install gcc-c++

3.安装yum-utils

//安装yum-utils包
yum install -y yum-utils

4.设置镜像仓库

### 方式一
//设置镜像仓库  国外的
yum-config-manager \
    --add-repo \
    https://download.docker.com/linux/centos/docker-ce.repo
 ### 方式二
--`建议使用 阿里云镜像地址`
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

5.更新索引

yum makecache fast

6.安装docker相关的

### 方式1
//安装最新的docker
yum install docker-ce docker-ce-cli containerd.io
### 方式2
//列出并排序您的存储库中可用的版本。此示例按版本号从最高到最低对结果进行排序
yum list docker-ce --showduplicates | sort -r 
查询结果如下所示,第二列为版本号:
> docker-ce.x86_64            3:20.10.9-3.el7                     docker-ce-stable
> docker-ce.x86_64            3:20.10.8-3.el7                     docker-ce-stable
> docker-ce.x86_64            3:20.10.7-3.el7                     docker-ce-stable
> docker-ce.x86_64            3:20.10.6-3.el7                     docker-ce-stable
> docker-ce.x86_64            3:20.10.5-3.el7                     docker-ce-stable
> docker-ce.x86_64            3:20.10.4-3.el7                     docker-ce-stable
> docker-ce.x86_64            3:20.10.3-3.el7                     docker-ce-stable
//安装特定版本的 Docker Engine
yum install docker-ce-20.10.8 docker-ce-cli-20.10.8 containerd.io

7.启动docker

systemctl start docker

8.查看docker版本

docker version

9.查看镜像

docker images

10.卸载docker依赖

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

11.删除资源

rm -rf /var/lib/docker

12.配置docker 镜像

方式一:

sudo mkdir -p /etc/docker
//阿里云镜像加速器地址在  阿里云上`弹性计算`->`容器镜像`->`镜像工具`->`镜像加速器`->`选择系统复制加速器地址`
sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["https://ssssjy.midddarror.aliysdaduncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker

方式二:在/etc/docker/daemon.json中修改配置文件内容

{
"graph":"/data/docker",
"insecure-registries":[],
"storage-driver":"overlay2",
"registry-mirrors": ["https://1xen9v7z.mirror.aliyuncs.com"],
"bip":"172.200.1.0/24",
"live-restore":true
}

五.Docker的常用命令

一.Docker启动及帮助命令

//1.启动docker
systemctl start docker
//2.停止docker
systemctl stop docker
//3.重启docker
systemctl restart docker
//4.查看docker状态
systemctl status docker
//5.查看docker概要信息
docker info
//6.查看docker帮助文档
docker --help
//7.查看docker某个命令的帮助文档
docker XXX --help
//8.设置docker开机启动
systemctl enable docker 

二. 镜像命令

//1.查看所有docker镜像
docker images
//2.查询远程仓库中XXX的镜像是否存在  --limit 5 参数表示查询前5个  docker search --limit 5 redis
docker search XXX
//3.拉取镜像 不带version表示拉取的是最新的
docker pull XXX:VERSION
//4.查看当前docker中有多少镜像、容器、本地卷 及占用的空间
docker system df 
//5.删除镜像、容器  参数-f是强制删除    docker rmi -f $(docker images -qa) 删除全部镜像
docker rmi -f 镜像名1:tag 镜像名2:tag

三. 容器命令

//1.新建并启动容器
docker run [options] 镜像名
`
options 参数说明:
		--name 容器名称
		-i 以交互模式运行容器 通常-t一起使用
		-t 为容器重新分配一个伪输入终端
		-P 随机端口映射
		-p 指定端口映射
		-d 后台运行 后台守护模式
`
//2.查询当前容器信息
docker ps [options]
`
options 参数说明:
		-a 所有的额容器 当前运行的及历史的容器
		不带参数查询出来的是正在运行的容器
`
//3.退出容器
exit #run进入容器 退出容器停止
ctrl+p+q #run进入容器 退出容器不停止
//4.启动已停止运行的容器
docker start 容器ID或容器名
//5.停止容器
docker stop 容器ID或容器名
//6.重启容器
docker restart 容器ID或容器名
//7.强制停止容器
docker kill 容器ID或容器名
//8.删除已停止的容器 -f 是强制删除
docker rm 容器ID或容器名
//9.查看容器日志
docker logs 容器ID
//10.查看容器内的运行进程
docker top 容器ID
//11.查看容器内部信息
docker inspect 容器ID
//12.进入运行的容器
docker exec -it 容器ID /bin/bash  #重新启动一个进程的方式进入;用exit退出,容器不会退出
docker attach 容器ID #用exit退出,容器不会退出
//13.拷贝容器内的资料到本地机器
docker cp 容器ID:容器内资源目录  需要拷贝到本地的目录
//14.将容器导出
docker export 容器ID>本地导出路径
//15.将tar导入到容器
cat tar文件 | docker import - 容器用户/容器名:版本号
//16.创建新的镜像
docker commit [OPTIONS] 容器ID 用户用户名/容器名:版本号
	OPTIONS:
	     -a	作者
	     -c 将 Dockerfile 指令应用于创建的镜像
	     -m 提交消息
	     -p 提交期间暂停容器

四. 容器数据卷(Volume)

//数据挂载
docker run -v 宿主机目录:容器内目录:rw --privileged=true 镜像ID

在 docker run 命令后加上-v开启文件挂载,:rw表示容器内可读可写 默认就是可读可写
–privileged=true表示让container内的roo用户正真的root权限.

数据挂载可以实现宿主机与容器间的数据共享及数据同步。
注意:如果容器没有数据挂载,在删除镜像后,在容器内的数据会丢失。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值