配置加速器:
[root@localhost ~]# more /etc/docker/daemon.json { "registry-mirrors": [ "https://ghcr.geekery.cn", "https://hub.geekery.cn", "https://docker.m.daocloud.io", "https://docker.rainbond.cc", "https://docker.1panel.live" ] }
systemctl restart docker docker info
如果配置后,还是下载不成功,建议修改本地的dns 8.8.8.8
[root@localhost ~]# more /etc/resolv.conf # Generated by NetworkManager nameserver 8.8.8.8 nameserver 114.114.114.114
镜像images 构建
容器container 执行
仓库Repositories 分发
镜像是一层一层构建的 分层架构
镜像内容是不可修改(只读)
docker pull nginx:1.25.1
docker run -d --name nginx-server -p 8082:80 nginx:1.25.1
-d 后台运行
8082:80 -> 80 表示容器内部端口 映射到宿主机8082端口上
dockerfile实例:
FROM centos RUN yum -y install wget && wget -O redis.tar.gz "http://download.redis.io/releases/redis-5.0.3.tar.gz" && tar -xvf redis.tar.gz
构建镜像
docker build -t myredis:v1 .
获取镜像:
docker pull [选项] [Docker Registry地址 [:端口号]/]仓库名[:标签]
列出镜像
docker image ls docker images
查看所有镜像
docker images -q
删除镜像
docker rmi 镜像id
运行镜像
docker run -it --rm centos:7.6.1810 bash
-it 交互模式运行容器 -t是重新分配一个伪终端
--rm 容器退出之后随之将其删除
centos:7.6.1810 表示使用此镜像启动容器
bash 终端
删除一个已经停止的容器
docker rm 容器id或容器名 docker container start 容器名称或容器id docker container restart 容器名称或容器id
停止容器
docker [container] stop 容器名称或容器id
查看正在运行的容器
docker ps
进入容器
docker exec -it -d 容器id bash
查看容器日志
docker logs [contaienr ID OR NAMES]
导出容器和导入容器
docker save -o centos-7.6.1810.tar 镜像id docker load -i centos-7.6.1810.tar