如何安装docker
yum install -y yum-utils
yum-config-manager \
--add-repo \
http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
镜像加速
tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://j9r3hcs0.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
yum makecache fast
yum -y install docker-ce docker-ce-cli containerd.io
docker基本命令
docker images
列出本地主机上的镜像docker search 某个xxx镜像名字
docker pull 某个xxx镜像名字
(可以指定下载的版本) 例:docker pull redis:6.0.8
docker system df
查看镜像/容器/数据卷所占用的空间docker rmi 某个镜像ID
删除某个镜像
面试题:谈谈docker虚悬镜像是什么?
仓库名、标签都是的镜像,俗称虚悬镜像dangling image
- 使用镜像centos:lates以交互模式启动一个容器,在容器内执行/bin/bash命令
docker run -it centos /bin/bash
(一个新终端) - 给交互式终端起别名
docker run -it --name=别名 centos bash
后台运行 -d
docker run -d redis:6.0.8
后台启动redis,不会关闭进程
使用 docker ps
查看所有容器,可以拿到容器ID
使用docker exec -it 容器ID /bin/bash
可以保证容器后台运行,使用exit;退出时不会关闭容器
从容器内拷贝文件到主机上的命令docker cp 容器ID:容器内的路径 目的主机路径
import从tar包中的内容创建一个新的文件系统再录入为镜像命令cat 文件名.tar | docker import - 镜像用户/镜像名:镜像版本号
cat aa.tar | docker import - xhd/centos:3.7
docker镜像的分层
Docker镜像中的分层,支持通过扩展现有镜像,创建性的镜像。类似Java继承于一个Base基础类,自己再按需扩展,新镜像是从base镜像一层一层叠加起来的,没安装一个软件,就在现有镜像的基础上增加一层
在docker容器中安装插件例如vim apt-get update
apt-get -y install vim
提交镜像命令docker commit -m="提交的描述信息" -a="作者" 容器ID 要创建的目标镜像名:【标签名】
docker commit -m="vim cmd add ok" -a="xhd" acd7697b985c atguigu/myubuntu:1.3
镜像发布到阿里云
$ docker login --username=xhdxxxx registry.cn-shanghai.aliyuncs.com
$ docker tag [ImageId] registry.cn-shanghai.aliyuncs.com/augest/myubuntu:[镜像版本号]
$ docker push registry.cn-shanghai.aliyuncs.com/augest/myubuntu:[镜像版本号]
拉取registry镜像docker pull registry
创建本地私库docker run -d -p 5000:5000 -v /zzyyuse/myregistry:/tmp/registry --privileged=true registry
验证是否有镜像上传curl -XGET http://192.168.72.128:5000/v2/_catalog
将新镜像修改为符合规范的tag
docker tag 本机镜像名:版本 主机地址:端口号/私服镜像名称:版本号
docker tag atguigu/ifubuntu:1.2 192.168.72.128:5000/zzyyubuntu:1.2
在配置文件中加入 vim /etc/docker/daemon.json 加入配置文件
"insecure-registries":["192.168.71.128:5000"]
提交代码到私服docker push 地址:端口号/镜像名称:版本
docker push 192.168.72.128:5000/zzyyubuntu:1.2
从私服中拉取镜像docker pull 192.168.72.128:5000/zzyyubuntu:1.2
心中无女人,编码自然神,忘掉心上人,抬手灭红尘,人间清醒,挣钱第一,好好学习,天天向上