1.docker安装
1.1 先检查ubuntu系统有没有安装过docker 使用 docker -v 命令 如果有请先卸载旧版本,如果没有直接安装命令如下:
1.1.0 首先,确保你的系统包是最新的: 如果是root 权限下面命令的sudo可以去掉
java
sudo apt-get update
sudo apt-get upgrade
1.1.2. 安装必要的依赖
安装一些必要的依赖包,以便 apt 可以通过 HTTPS 使用仓库:
java
sudo apt-get install apt-transport-https ca-certificates curl software-properties-common
1.1.3. 添加 Docker 的官方 GPG 密钥
下载并添加 Docker 的官方 GPG 密钥:
java
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
1.1.4. 添加 Docker APT 仓库
将 Docker 的 APT 仓库添加到你的系统中。确保你使用的是正确的 Ubuntu 版本代号(例如 focal 对应 Ubuntu 20.04,jammy 对应 Ubuntu 22.04):
java
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
1.1.5. 更新 APT 包索引
更新 APT 包索引以包含新添加的 Docker 仓库:
java
sudo apt-get update
1.1.6. 安装 Docker
安装 Docker CE(社区版):
java
sudo apt-get install docker-ce docker-ce-cli containerd.io
1.1.7. 验证 Docker 安装
验证 Docker 是否安装成功并正在运行:
java
sudo systemctl status docker
你应该会看到类似以下的输出,表明 Docker 服务正在运行
java
● docker.service - Docker Application Container Engine
Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: enabled)
Active: active (running) since ...
1.1.8. 将当前用户添加到 docker 组
为了在不使用 sudo 的情况下运行 Docker 命令,将当前用户添加到 docker 组:
java
sudo usermod -aG docker ${USER}
注意:添加用户到 docker 组后,需要重新登录或重启系统才能使更改生效。
1.1.9. 测试 Docker
运行一个简单的 Docker 容器来测试安装是否成功:
java
docker run hello-world
如果一切正常,你应该会看到一条欢迎消息,表明 Docker 已经成功安装并运行。
1.1.10. 配置 Docker 镜像加速器(可选)
如果你在中国大陆,建议配置 Docker 镜像加速器以提高下载速度。编辑或创建 /etc/docker/daemon.json 文件,添加以下内容:
java
{
"registry-mirrors": ["https://<your_mirror>.mirror.aliyuncs.com"]
}
替换 <your_mirror> 为你的阿里云镜像加速器地址。
保存文件后,重启 Docker 服务以使配置生效:
java
sudo systemctl restart docker
至此docker安装完成。
2.docker常用命令:
java
可以通过docker --help 查看docker 命令帮助
systemctl restart docker 重启docker 服务
systemctl stop docker 停止docker 服务
systemctl start docker 开启docker 服务
docker pull 镜像名称 拉取镜像,从本地拉取镜像,本地没有,从远程仓库拉取
docker push 镜像名称 推送镜像到本地仓库
docker cp 复制
docker commit 提交一个新的副本使它成为一个新的镜像 命令如下
docker commit -m="提交的描述信息" -a="作者" 容器ID 要创建的目标镜像名:[镜像版本号]
docker 命令 --help 查询命令帮助
docker images 查看镜像
docker ps 查询正在运行的容器
docker ps -a 查询所有容器
docker ps -ap 查询所有容器 image的ID
docker restart 容器名称或容器id 重启容器
docker stop 容器名称或容器id 停止容器
docker run -d 容器名称或容器id 后台启容器
docker run -d -p 宿主机端口号:容器端口号 -v 宿主机挂载的绝对目录:容器的数据存放目录 -e 环境变量 容器名称 代表的意思是: 后台启动某个镜像 端口映射,目录挂载到宿主机的目录上
docker exec -it 容器名称 bash 意思进入某个容器内,进行shell交互
docker logs -f 容器名称 持续查看容器的输出日志
3.本地镜像发布到阿里云仓库
3.1首先登录阿里云创建仓库如下图所示
企业用就要使用企业实例
我这里使用个人实例
先创建命名空间如图
在创建镜像仓库如下图
选择本地仓库如下图
按照阿里云的脚本运行就可以了如图
到此推送到阿里云仓库以及完成
4.将本地镜像推送到私服仓库中因为有些镜像属于公司敏感服务,所以搭建自己的私服仓库
4.1 docker registry 是官方提供的工具,可以用于构建私有镜像仓库
4.2.拉取docker registry镜像 使用命令
java
docker pull registry
4.3 启动registry镜像
java
docker run -d -p 5000:5000 -v 宿主机的仓库目录使用绝对路径:容器存放镜像的目录使用绝对路径 --privileged=true registry
4.4 开始镜像推送工作
java
docker tag 镜像名称 47.98.233.56:5000/ubuntu:latest
4.5由于docker 不能推送 http协议需要配置如下
在配置阿里云的daemon.json 下面配置{"registry-mirrors":["阿里云的仓库地址"],"insecure-registries":["你私服的地址加你映射仓库的端口"]}
如图:
4.6.推送到私服仓库如图
4.7用命令验证仓库有没有推送成功
如下图说明推送成功
4.7从私服拉取镜像如图
到此结束