docker 在ubuntu系统安装,以及常用命令,配置阿里云镜像仓库,搭建本地仓库等

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从私服拉取镜像如图

到此结束

相关推荐
红茶要加冰6 分钟前
一、docker简介
运维·docker·容器
万能菜道人14 分钟前
window下docker使用一些多媒体应用
运维·docker·容器
小灰灰__1 小时前
[在线实验]-在docker中运行clickhouse
clickhouse·docker
Y Shy1 小时前
修复docker启动失败:Failed to start Docker Application Container Engine
docker·容器·manjaro·virtualbox虚拟机
好奇的菜鸟2 小时前
安装Docker并使用WSL
运维·docker·容器
小柏ぁ2 小时前
karmada-descheduler
docker·kubernetes·karmada
steamedobun2 小时前
【Docker】针对开发环境、测试环境、生产环境如何编排?
docker·容器·eureka
huaweichenai2 小时前
docker更换容器存储位置
运维·docker·容器
fc&&fl4 小时前
python+docker实现分布式存储的demo
开发语言·python·docker
胡少侠75 小时前
macOS运行amd64的镜像
macos·docker·platform·amd64