centos7的docker安装与简单介绍

docker的基本组成(三要素)

  • 镜像
  • 容器
  • 仓库

理解:镜像可以理解成一个类,容器就是用这个类new出来的对象,仓库就是放镜像文件的。docker本身是容器运行载体或管理引擎

安装

  1. 安装gcc
yum -y install gcc
  1. 安装需要的软件包

设置稳定的镜像仓库

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

更新yum软件包索引,使得镜像下载快

yum makecache fast
  1. 安装 Docker Engine、containerd 和 Docker Compose
yum install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
  1. 启动docker
systemctl start docker
  1. 测试
docker version

使用hello-world镜像测试docker
本地没有,他会去远程镜像库拉取一个hello-world镜像

docker run hello-world
  1. 停止docker
systemctl stop docker

docker的常用命令

查看docker概要信息

docker info

设置docker开机启动

systemctl enable docker

查看帮助文档

docker --help

列出本地主机上的镜像

docker images

查看远程镜像库是否有某个镜像

docker search hello-world

拉取镜像到本地

docker pull 镜像名称[:tag]

删除某个镜像

docker rmi 名字或id

docker rmi -f 名字或id

容器命令

通过docker run 启动容器有一些参数

docker run --name=容器名字

//后台运行容器并返回id
docker run -d

//启动操作容器的终端
docker run -it

//指定端口映射
docker run -p 8080:8080

罗列所有启动着的容器

docker ps

退出容器

在容器控制台输入 exit : 会停止容器
ctrl+p+q : 不会停止容器

停止容器

docker stop id或名字

强制停止

docker kill id或名字

重启容器

docker restart id或名字

删除已经停止的容器

//注意:rmi 是删除镜像
docker rm id

退出了容器,重新进入正在运行的容器交互界面

//一般用这个,输入exit不会停止容器	
docker exec -it id bash

docker attach id

将容器内的文件拷贝到主机

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

将容器导出成一个tar

docker export id > 文件名.tar

将tar文件导入为一个镜像

cat	文件名.tar | docker import - 镜像用户/镜像名:版本号

commit镜像(将自己的容器commit到本地镜像库)

docker commit -m="描述信息" -a="作者" 容器id 要创建的目标镜像名:版本

centos7的docker安装与简单介绍_第1张图片

容器数据卷

容器运行中可能有重要的数据,为了对数据进行保护,需要进行备份。容器数据卷就是通过映射的方式将容器内的数据备份+持久化到本地主机目录上。主机上修改文件,容器内对应映射也会修改,互通的。

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

docker run -it --priviledged=true -v /主机绝对路径目录:/容器内目录 镜像

Dockerfile

Dockerfile是用来构建镜像文件的文本文件,它可以看做一个清单,docker通过这个清单构建镜像。

Dockerfile指令

  • FROM
    指定一个已经存在的镜像作为模版
  • MAINTAINER
    镜像维护者
  • RUN
    容器构建时需要执行的命令,是在docker build时运行
  • EXPOSE
    当前容器对外暴露的端口
  • WORKDIR
    指定容器创建后,终端默认登录进来的工作目录;这是设置RUN,CMD,ADD等指令的工作目录
  • USER
    默认root
  • ENV
    用于构建镜像中设置环境变量。
    如ENV MYPATH /usr/local,这个环境变量可以在后续任何RUN指令中使用
  • VOLUME
    容器数据卷,用于数据保存和持久化工作
  • ADD
    将主机目录下的文件拷贝进镜像且会自动处理URL和解压tar压缩包
  • COPY
    类似于ADD,拷贝文件和目录到镜像中
  • CMD
    设置容器的启动命令,指定容器启动后要干的事情,是在docker run时运行
  • ENTRYPOINT
    设置容器的入口程序

编写好Dockerfile文件后,构建镜像

//注意末尾有个点(.)
docker build -t 镜像名字:tag .

docker-compose 容器编排

当docker容器多了,可以用compose工具来进行管理,需要定义一个yaml配置文件,docker-compose.yaml,写好多个容器之间的调用关系,然后,只需要一个命令就能同时启动和关闭这些容器

你可能感兴趣的:(docker,运维,容器)