Docker学习笔记之安装、Docker Hub

安装docker

参考文章https://blog.csdn.net/mvx01/article/details/125788688

百度简介
Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的 Linux或Windows操作系统的机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。

docker的基本概念

Image(镜像)、Container(容器)、Repository(仓库)

在这里插入图片描述

docker的简单使用

首先我们启动docker

systemctl start docker
回车后并没有什么变化

接下来使用

systemctl status docker查看状态

普通用户查看docker服务:
sudo systemctl status docker

ps:按q退出

在这里插入图片描述active(Running)说明运行成功

在这里插入图片描述未运行成功时则显示inactive(dead)

那么如何关闭docker呢?

systemctl stop docker

但只使用这一句命令会报错
在这里插入图片描述
意思是docker并没有完全被关闭,处于一种待机状态,如果执行其他docker命令,docker将会被自动唤醒。
要想完全关闭掉只需要再执行

systemctl stop docker.socket

在这里插入图片描述
docker将被完全关闭

docker 镜像查看

docker image lsdocker images

在这里插入图片描述

docker 容器查看

docker ps

查看为运行中的容器

docker pd -a

运行容器

这里我拿nginx容器为例

在这里插入图片描述
使用运行容器命令行

docker start ${CONTAINER ID}
或
docker start ${IMAGE}

在这里插入图片描述发现报错,这里找了好久,大部分的答案是因为修改过防火墙,向理想自己确实之前改过防火墙,但是我重启之后也没有办法运行容器。
但是后面的报错信息跟之前说的不一样,于是我猜想是不是不是防火墙的问题,果然没错,是端口号占用的问题。
查看当前端口号占用情况

netstat -tanlp

在这里插入图片描述关闭进程

kill ${PID}
#PID就是上图篮圈标明的地方

在这里插入图片描述运行容器成功!

Docker Hub

接下来让我们创建一个‘仓库’

目前 Docker 官方维护了一个公共仓库 Docker Hub。

大部分需求都可以通过在 Docker Hub 中直接下载镜像来实现。

推送镜像

用户登录后,可以通过 docker push 命令将自己的镜像推送到 Docker Hub

关于仓库首先需要有一个 Docker Hub 的用户名和密码,如果没有,则需要先进行注册,注册地址为:https://hub.docker.com

注册成功后我们来到终端

输入登录命令

docker login -u ${username}

在这里插入图片描述输入密码成功后显示Login Succeeded

退出命令

docker logout

参考 https://blog.csdn.net/unforgettable2010/article/details/123931720

下载仓库镜像

#下载仓库镜像并且命名为registry:2
docker pull registry:2

启动镜像

docker run -d -v /opt/registry:/var/lib/registry -p 5000:5000 --name myregistry registry:2

在这里插入图片描述
其中在运行容器或镜像时可能会报如下错:

docker: Error response from daemon: failed to create shim: OCI runtime create failed: unable to retrieve OCI runtime error (open /run/containerd/io.containerd.runtime.v2.task/moby/cdf3729f103e2f4cb94e25f3cfe6c21a3126428c0a977b7651ed5a77ab6d7/log.json: no such file or directory): runc did not terminate successfully:unknown.

可以参考https://blog.csdn.net/qq_42739865/article/details/121786374

将镜像标志推送到私有仓库

docker tag nginx:latest localhost:5000/nginx:latest

将镜像push到私有仓库

docker push localhost:5000/nginx:latest

在这里插入图片描述
因为我是连接外部服务器,不是本地访问,只需要把localhost替换成ip即可。

输入命令

curl -XGET localhost/v2/_catalog

在这里插入图片描述

成功将镜像上传到了本地仓库!
也可以去浏览器上查看。
在这里插入图片描述
(我用火狐打不开,但用谷歌就可以…redis是我之后添加的)

同理,我们再来做一遍

首先先从镜像中挑选你的心动嘉宾

docker images

在这里插入图片描述
将镜像标志推送到私有仓库123.453.67.89是假的,只是为了还原外服远程操作)

docker tag redis:latest 123.453.67.89:5000/redis:latest

将镜像push到私有仓库

docker push 123.453.67.89:5000/redis:latest

![在这里插入图片描述](https://img-blog.csdnimg.cn/122ef53b7bac412197663de54959027f.png
执行成功后会返回一个访问路径

在这里插入图片描述
但是一定要使用http访问,否则将会报错
在这里插入图片描述

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值