Docker学习-Shuttle.L-运维笔记

本文介绍了如何在CentOS系统上通过阿里云yum源安装Docker,包括设置镜像加速、安装常用命令、配置容器服务以及使用Docker进行基本操作如创建、运行容器,进入容器,管理镜像等。此外,还提到了Docker镜像的分层原理和构建过程,以及Windows 10支持Docker的方法。
摘要由CSDN通过智能技术生成

Docker学习

通过阿里云yum源安装docker

  • 备份原yum源
    mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
  • 获取阿里云yum源
    wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
  • 清除原有yum源缓存,缓存新yum源
    yum clean all
    yum mackcache
  • 安装容器服务
    yum install -y docker
  • 安装docker命令补全(tab补全)
    yum install -y bash-completion
    source /usr/share/bash-completion/bash_completion
  • 配置容器镜像源加速
    sudo mkdir -p /etc/docker
    sudo tee /etc/docker/daemon.json <<-‘EOF’
    {
    “registry-mirrors”: [“https://c4xqpauq.mirror.aliyuncs.com”]
    }
    EOF
  • 重新加载docker配置
    sudo systemctl daemon-reload
  • 重启容器服务
    systemctl restart docker
  • 设置开机启动
    systemctl enable docker

windows10支持docker(windows server core/nano-纯命令版)

控制面板-程序与服务-Hyper-V,Containers
在这里插入图片描述

docker基本命令

在这里插入图片描述

创建及运行容器

例子:
docker create --name test1 httpd
找不到,会自动下载(pull)

docker run -it 创建并运行
在这里插入图片描述

进入容器

docker attach 直接进入容器,不启动新进程,退出会停止容器,退出不停止需要先按,Ctrl+P;再按,Ctrl+Q(快捷方式)

docker exec 在新的终端打开容器
例子:
docker exec -it test1 /bin//bash
修改httpd页面
cd /usr/local/apache2/htdocs
echo “test” > index.html
(
容器内无vim,需安装
apt-get update
apt-get install vim
)

查看镜像

docker images

删除镜像 强制 -f

docker rmi

删除容器

docker rm

查询镜像

docker search

容器日志

docker logs
例子:docker logs test1

镜像分层学习&&docker build:

对于不同的linux发行版, bootfs基本是一致的, rootfs会有差别, 因此不同的发行版可以公用bootfs
rootfs与应用打包在容器里
镜像分层:容器由若干只读镜像层和最上面的可写的容器层构建的
在这里插入图片描述
base镜像,镜像层只读的

从scratch构建,不依赖其他镜像,本身是个空镜像
一般操作系统镜像是最常用的base镜像

容器层,共用镜像层,独立的容器空间

docker容器镜像特性
在这里插入图片描述

新增在容器层中新增
删除镜像层在容器层增加“遮挡”文件"whiteout"遮挡起来。
修改镜像层数据将:先将数据复制到容器层,再修改,然后数据保存在容器层 (copy-on-write)
读取:依据容器分层有上至下查找,容器层-镜像层

docker commit /dockerflie创建镜像
docker commit
-a 作者名
-m 备注
例子:docker commit -a luo -m yubao test2 nginx:v1.1

docker build
利用dockerfile创建
使用docker build 创建镜像时,需要使用 dockerfile 文件自动化制作image 镜像
注意:dockerfile 有点像源码编译时./configure后产生的 Makefile
mkdir -p /root/docker-build/
vim Dockerfile
#基于什么镜像
FROM docker.io/centos:latest
#作者
MAINTAINER <luoyubao.com>
#执行命令安装httpd服务
RUN yum -y install httpd
#将镜像层文件复制到容器层
ADD start.sh /usr/local/bin/start.sh
ADD index.html /var/www/html/index.html
#开放80端口
expose 80

vim start.sh
#!/bin/bash
/usr/sbin/httpd -DFOREGROUND
vim index.html
docker build -t docker.io/centos:httpd ./

查看镜像历史
docker history XXX
例:docker history nginx:v1.1

docker镜像导入
docker images load -i 镜像包名

docker镜像导出
docker images save 镜像名> 镜像包名

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值