一、前言
最近通过阿里的镜像仓库远程拉取镜像,发现以前的版本不见了,拉取了最新的镜像,有发现版本不配问题。那么想使用老版本的镜像那就要从别的环境获取。于是就需要进行离线镜像复制,打包,上传,重新导入的过程。本篇就做一个记录。
二、docker镜像
1、以获取apollo镜像为例
从线上镜像仓库获取
1.docker pull apolloconfig/apollo-configservice:1.9.1
2.docker pull apolloconfig/apollo-adminservice:1.9.1
3.docker pull apolloconfig/apollo-portal:1.9.1
这里的问题是 1.91版本的镜像不维护了,所以拉取不到。如果想获取最新就不用加版本号
1.docker pull apolloconfig/apollo-configservice
2.docker pull apolloconfig/apollo-adminservice
3.docker pull apolloconfig/apollo-portal
但是最新的版本和我之前的数据库不兼容
所以从其他服务器复制旧版本镜像
三、镜像制作
docker images 查看镜像
docker镜像复制命令
docker save -o apollo-adminservice.tar apolloconfig/apollo-adminservice
docker save -o apollo-configservice.tar apolloconfig/apollo-configservice
docker save -o apollo-portal.tar apolloconfig/apollo-portal
docker镜像导入命令
docker load -i apollo-adminservice.tar
docker load -i apollo-configservice.tar
docker load -i apollo-portal.tar
四、docker命令大全
docker相关命令总汇:
systemctl start docker 启动docker
systemctl stop docker 关闭docker
systemctl restart docker 重启docker
systemctl enable docker 设置docker开机自启
systemctl status docker 查看docker运行状态
sudo systemctl daemon-reload 重新加载配置文件
- 搜索镜像:docker search <镜像名>,例如:docker search ubuntu。
- 下载镜像:docker pull <镜像名>:<标签>,例如:docker pull ubuntu:latest。
- 列出本地镜像:docker images。
- 删除本地镜像:docker rmi <镜像ID>,例如:docker rmi ubuntu:latest。
- 删除所有镜像:docker rmi $(docker images -aq)
- 查看镜像详细::docker inspect <镜像名>,例如:docker inspect ubuntu:latest。
- 创建自定义镜像:通过编写Dockerfile文件并使用docker build命令构建镜像。
- 导出和导入镜像:docker save <镜像名>:<标签> > 文件名.tar和docker load < 文件名.tar。
- 上传镜像到仓库:docker push <镜像名>:<标签>,例如:docker push myrepo/ubuntu:latest。
- 从仓库拉取镜像:docker pull <仓库地址>/<镜像名>:<标签>,例如:docker pull myrepo/ubuntu:latest。
- 使用镜像创建容器:docker run -d -p <主机端口>:<容器端口> <镜像名>:<标签>,例如:docker run -d -p 8080:80 nginx:latest。
- 列出正在运行的容器:docker ps,加上-a选项可以查看所有容器,包括已经停止的容器。
- 创建并启动容器:docker run <选项> <镜像名>:<标签>,例如:docker run -d -p 8080:80 nginx:latest。
- 停止容器:docker stop <容器ID或容器名>,例如:docker stop my_container。
- 启动容器:docker start <容器ID或容器名>,例如:docker start my_container。
- 重启容器:docker restart <容器ID或容器名>,例如:docker restart my_container。
- 进入容器内部:docker exec -it <容器ID或容器名> <命令>,例如:docker exec -it my_container /bin/bash。
- 查看容器日志:docker logs <容器ID或容器名>,例如:docker logs my_container。
- 删除容器:docker rm <容器ID或容器名>,例如:docker rm my_container。
- 查看容器详细信息:docker inspect <容器ID或容器名>,例如:docker inspect my_container。
- 导出和导入容器:docker export <容器ID或容器名> > 文件名.tar和docker import < 文件名.tar。
- 从容器创建新镜像:docker commit <容器ID或容器名> <新镜像名>:<标签>,例如:docker commit my_container my_image:latest。
- docker-compose down:停止并删除Compose启动的容器
- 查看Docker网络列表:docker network ls。
- 创建自定义桥接网络:docker network create <网络名称>,例如:docker network create my_network。
- 查看指定网络的详细信息:docker network inspect <网络名称或网络ID>,例如:docker network inspect my_network。
- 将容器连接到网络:docker network connect <网络名称> <容器名称或容器ID>,例如:docker network connect my_network my_container。
- 从网络中断开容器:docker network disconnect <网络名称> <容器名称或容器ID>,例如:docker network disconnect my_network my_container。
- 删除网络:docker network rm <网络名称>,例如:docker network rm my_network。
- 查看容器网络连接信息:docker network inspect <容器名称或容器ID>,例如:docker network inspect my_container。
- 修改容器网络连接:docker network disconnect <网络名称> <容器名称或容器ID>和docker network connect <网络名称> <容器名称或容器ID>。
- 登录到Docker Hub或私有仓库:docker login,例如:docker login myregistry.example.com。
- 登出Docker Hub或私有仓库:docker logout,例如:docker logout myregistry.example.com。
- 查看镜像仓库中的镜像列表:docker search <镜像名称>,例如:docker search ubuntu。
- 拉取镜像到本地:docker pull <镜像名称>,例如:docker pull ubuntu。
- 推送本地镜像到仓库:docker push <镜像名称>,例如:docker push myregistry.example.com/my_image。
- 从仓库中删除镜像:docker rmi <镜像名称>,例如:docker rmi myregistry.example.com/my_image。
- 为本地镜像添加标签:docker tag <本地镜像名称> <新标签名称>,例如:docker tag my_image:latest my_image:v1.0。
- 查看镜像详细信息:docker image inspect <镜像名称>,例如:docker image inspect ubuntu。
- 查看镜像历史:docker history <镜像名称>,例如:docker history ubuntu。
- 登录到远程仓库:docker login -u 用户名 -p 密码 192.168.25.163:8084
- docker network ls:列出所有网络。
- docker network create <network_name>:创建一个新的网络。
- docker volume ls:列出所有数据卷。
- docker volume create <volume_name>:创建一个新的数据卷。
- docker-compose up:在Compose文件所在目录启动容器。
- docker-compose down:停止并删除Compose启动的容器。
- docker system prune:清理不再使用的资源,包括停止的容器、未使用的镜像、网络和数据卷。
- docker push: 这是Docker的一个子命令,用于将本地的Docker镜像推送到远程Docker仓库。