马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册
×
目次
镜像堆栈下令
1. 下令清单
2. docker login
3. docker pull
4. docker push
5. docker search
6. docker logout
镜像下令[部门]
1. docker images
2. docker image inspect
3. docker tag
容器下令[部门]
1. docker run
2. docker ps
实战操纵
一. 搭建一个 Nginx 服务
底子知识
Web 服务器
Nginx
安装 Nginx
Ubuntu 安装 Nginx
拉取 Nginx 镜像,启动 Nginx 站点
其他方式拉取 Nginx 镜像
检察当地镜像
二:Docker Hub 上创建自己私有堆栈
底子知识
BusyBox
安装 BusyBox
Ubuntu 安装
实行下令
卸载 BusyBox
Ubuntu 卸载
创建账号
推送镜像到堆栈
镜像堆栈下令
1. 下令清单
下令
| 别名
| 功能
| 备注
| docker login
|
| 登录堆栈
| 必须把握
| docker pull
| docker image pull
| 拉取镜像
| 必须把握
| docker push
| docker image push
| 推送镜像
| 必须把握
| docker search
|
| 查找镜像
|
| docker logout
|
| 登出堆栈
| 必须把握
| 2. docker login
- 登岸到一个 Docker 镜像堆栈,默以为官方堆栈 Docker Hub。
- docker login [OPTIONS] [SERVER]
复制代码
- docker login -u 用户名 -p 密码
复制代码 3. docker pull
- docker pull [OPTIONS] NAME[:TAG|@DIGEST]
复制代码
- -a: 拉取全部 tagged 镜像
- --disable-content-trust: 忽略镜像的校验,默认开启
4. docker push
- docker push [OPTIONS] NAME[:TAG]
复制代码
- -a: 推送全部 tagged 镜像
- --disable-content-trust: 忽略镜像的校验,默认开启
5. docker search
- docker search [OPTIONS] TERM
复制代码
- --no-trunc: 表现完备的镜像形貌;
- -f <过滤条件>: 列出收藏数不小于指定值的镜像。
- # 从 Docker Hub 查找所有镜像名包含 nginx,并且 star 数大于 10 的镜像
- docker search -f stars=10 nginx
复制代码
6. docker logout
- 登出一个 Docker 镜像堆栈,默以为官方堆栈 Docker Hub。
镜像下令[部门]
1. docker images
- docker images [OPTIONS] [REPOSITORY[:TAG]]
复制代码
- docker image ls, docker image list
复制代码
- -a: 列出当地全部镜像(含中心映像层,默认情况下,过滤掉中心映像层);
- --digests: 表现镜像的择要信息;
- -f: 表现满意条件的镜像;
- --format: 指定返回值的模板文件;
- --no-trunc: 表现完备的镜像信息;
- -q: 只表现镜像 ID。
- # 列出本地全部镜像
- docker images
- # 列出本地镜像中 REPOSITORY 为 ubuntu 的镜像列表。
- docker images ubuntu
复制代码
可以团结 grep 利用
2. docker image inspect
- docker image inspect [OPTIONS] IMAGE [IMAGE...]
复制代码
- # 查看镜像详细信息
- docker image inspect nginx:1.23.3
复制代码
3. docker tag
- docker tag SOURCE_IMAGE[:TAG] TARGET_IMAGE[:TAG]
复制代码
- docker tag ubuntu:22.04 myregistry.com/myubuntu:22.04
复制代码
可以发现,打标签后,两者的image id是雷同的,由于两者的镜像内容雷同,只是名字差别。
常会通过这种方式,给镜像名前面加上一串堆栈路径,方便提交。
容器下令[部门]
1. docker run
- docker run [OPTIONS] IMAGE [COMMAND] [ARG...]
复制代码
- -d: 配景运行容器,并返回容器 ID;
- -i: 以交互模式运行容器,通常与 -t 同时利用;
- -P: 随机端口映射,容器内部端口随机映射到主机的端口
- -p: 指定端口映射,格式为 主机(宿主)端口:容器端口
- -t: 为容器重新分配一个伪输入终端,通常与 -i 同时利用;
- --name="nginx-lb": 为容器指定一个名称;
- -h "mars": 指定容器的 hostname;
- -e username="ritchie": 设置情况变量;
- --cpuset-cpus="0-2" 或 --cpuset-cpus="0,1,2": 绑定容器到指定 CPU 运行;
- -m: 设置容器利用内存最大值;
- --network="bridge": 指定容器的网络毗连范例;
- --link=[]: 添加链接到另一个容器;
- --volume, -v: 绑定一个卷
- --rm: shell 退出的时间自动删除容器
- # 使用 docker 镜像 nginx:latest 以后台模式启动一个容器,并将容器命名为 mynginx。
- docker run --name mynginx -d nginx:latest
- # 使用镜像 nginx:latest,以后台模式启动一个容器,将容器的 80 端口映射到主机的 80 端口,主机的目录 /data 映射到容器的 /data。
- docker run -p 80:80 -v /data:/data -d nginx:latest
复制代码 2. docker ps
- docker container ls, docker container list, docker container ps
复制代码
- -a: 表现全部的容器,包罗未运行的。
- -f: 根据条件过滤表现的内容。
- --format: 指定返回值的模板文件。如 json 大概 table
- -l: 表现最新的容器。
- -n: 列出迩来创建的 n 个容器。
- --no-trunc: 不截断输出。
- -q: 静默模式,只表现容器编号。
- -s: 表现总的文件巨细。
可以明白到:一个 OS 上可以运行多个 docker
实战操纵
一. 搭建一个 Nginx 服务
底子知识
Web 服务器
- Web 服务器,一样平常是指“网站服务器”,是指驻留于互联网上某种范例盘算机的步伐。Web 服务器可以向 Web 欣赏器等客户端提供文档,也可以放置网站文件,让全天下欣赏,更可以放置数据文件,让全天下下载。
- Web 服务器,也称为“WWW 服务器”(英文全写:World Wide Web,翻译成中文:万维网或举世信息网),告急功能是“提供网上信息欣赏服务”。
- WWW 是 Internet(互联网)的多媒体信息查询工具,是 Internet(互联网)上发展起来的服务,也是发展最快和现在利用最广泛的服务。比方百度就是一个 Web 服务器,提供搜索服务。
Nginx
- Nginx 是一款自由的、开源的、高性能的 HTTP 服务器和反向署理服务器;同时也是一个 IMAP、POP3、SMTP 署理服务器。Nginx 可以作为一个 HTTP 服务器举行网站的发布处置处罚,别的 Nginx 可以作为反向署理举行负载平衡的实现。
- 可以明白 Nginx 是 Web 服务器的一种实现。
- Nginx 作为 Web 服务器可以向各种欣赏器等客户端提供欣赏服务,比如我们通过手机、电脑、平板可以访问百度来实现对 Web 服务器的访问。
正向署理:由于防火墙的缘故起因,我们不能直接访问谷歌,那么我们可以借助 VPN 来实现,这就是一个简单的正向署理的例子。
这里可以大概发现,正向署理“署理”的是客户端,而且客户端是知道目的的,而目的是不知道客户端是通过 VPN 访问的。比方我们平常利用的 steam 游戏加速器
反向署理:当我们在外网访问百度的时间,着实会举行一个转发,署理到内网去,这就是所谓的反向署理,即反向署理“署理”的是服务器端,而且这一个过程对于客户端而言是透明的。
安装 Nginx
Ubuntu 安装 Nginx
- sudo apt update
- sudo apt install nginx -y
复制代码 启动 Nginx 作为一个网站
- 打开欣赏器,访问 http://<你的服务器IP>,你应该能看到 Nginx 的欢迎页面。
- sudo vi /etc/nginx/sites-available/default
复制代码
- cat /usr/share/nginx/html/index.html
复制代码
- ps -ef | grep nginx
- kill <主进程ID>
复制代码 拉取 Nginx 镜像,启动 Nginx 站点
- 到 https://hub.docker.com/ 上找到 Nginx 镜像
- docker run --name nginx1 --rm -it -p 80:80 nginx:1.23.3 bash
复制代码
- 检察我们现在是在容器的 shell 内里,实行 cat /etc/*release* 检察操纵体系
- 在另一个 shell 窗口中实行 curl 下令,可以看到 Nginx 的欢迎信息返回
- 退出 shell 观察再 curl 发现我们已经 ping 不通了,分析 Nginx 是容器内里的而不是服务器内里的
其他方式拉取 Nginx 镜像
- docker pull bitnami/nginx:1.23.4
复制代码- docker pull nginx@sha256:d7573e9b475c64dbf09dac0808517e8d5a919918aa772ceca381091365a970aa
复制代码
检察当地镜像
- docker image inspect 8c9eabeac475
复制代码
通过以上步调,你可以乐成搭建并运行一个 Nginx 服务,而且学会怎样利用 Docker 拉取和管理 Nginx 镜像。
二:Docker Hub 上创建自己私有堆栈
底子知识
BusyBox
BusyBox 是一个集成了三百多个最常用 Linux 下令和工具的软件。
它包罗了一些简单的工具,比方 ls、cat 和 echo 等,还包罗了一些更大、更复杂的工具,比方 grep、find、mount 以及 telnet。
BusyBox 是一个集成了一百多个最常用 Linux 下令和工具的软件,它以致还集成了一个 HTTP 服务器和一个 Telnet 服务器,而全部这统统功能却只有戋戋 1M 左右的巨细。因外洋带宽较小,我们拉取该镜像推送到自己的堆栈。
安装 BusyBox
Ubuntu 安装
- sudo apt update
- sudo apt install -y busybox
复制代码 实行下令
- busybox ls
- busybox ifconfig
- busybox ifconfig | busybox grep lo
复制代码 卸载 BusyBox
Ubuntu 卸载
- sudo apt --purge autoremove busybox
复制代码 创建账号
- 访问 https://hub.docker.com/,点击注册按钮,输入注册信息。
- 登录后点击堆栈,创建一个个人堆栈。
- 假如提示必要进入,进入自己的邮箱完成激活。
- 输入堆栈信息,选择可见性(公开或私有),点击创建完成。
推送镜像到堆栈
- docker tag busybox:latest maxhou/mybusybox:v0.1
复制代码 输出示例
- docker push maxhou/mybusybox:v0.1
- The push refers to repository [docker.io/maxhou/mybusybox]
- 427701cb9c96: Mounted from library/busybox
- v0.1: digest: sha256:2c8ed5408179ff4f53242a4bdd2706110ce000be239fe37a61be9c52f704c437 size: 528
复制代码
- 登录 Docker Hub,进入你的堆栈页面,确认镜像已乐成推送。
通过以上步调,你可以乐成创建自己的 Docker Hub 私有堆栈,并将 BusyBox 镜像推送到该堆栈。
偶尔候会不太稳固,不科学上网的话,可以利用阿里云~
|