docker学习笔记(1.0)

docker命令

下载镜像相关命令

检索:docker search

比如:docker search nginx 是查看有没有nginx镜像

后面的OK表示是不是官方镜像,如果有就是官方镜像,如果没有就是第三方的。

下载:docker pull

比如:docker pull nginx 下载 nginx镜像【等价于docker pull nginx:latest也就是默认下载最新版的镜像,如果想要下载指定版本的镜像,可以去dockerhub下载,网址:https://hub.docker.com】

或者在冒号后面指定具体版本也可以,docker pull nginx:1.26.0

使用命令docker images来查看镜像

删除:docker rmi

有两种删除方式:

①docker rmi nginx:latest

②docker rmi nginx:e784f4560448

启动容器相关命令

运行:docker run

当我们已经有了nginx镜像后,想要启动就需要使用该命令

docker run nginx

docker run的其他细节

docker run -d --name meznginx nginx

-d 后台启动nginx

--name:给容器起一个名字,如果没有,就会生成随机名字

此时web浏览器还是访问不到我们的容器,我们需要对外部端口和内部端口做一个映射【端口映射】。

docker run -d --name meznginx -p 80:80 nginx

第一个80是主机的80端口,第二个80是容器的80端口

此时浏览器就可以访问了。

查看:docker ps 【查看所有运行中的容器】

使用-a参数可以看到停掉的容器。

停止:docker stop

和docker start功能相反,就是停掉容器,但是用法相同,后面后面可以跟上容器的ID,或者是容器的names

启动:docker start

后面可以跟上容器的ID,或者是容器的names

重启:docker restart 【容器名称或ID】

重启容器,无论是启动还是停止状态

状态:docker stats 【容器名称或ID】

日志:docker logs

进入:docker exec

默认的nginx页面的位置在这个位置

如果要修改容器的默认页就需要使用该命名

docker exec -it meznginx /bin/bash

由于该容器没有vi编辑器,所以我们只能通过echo的方式追加到默认文件中

删除:docker rm

如果直接使用rm不加参数,只能删除停止的容器,如果加上参数-f,就是强制删除容器,无论停止与否。

保存镜像

提交:docker commit

-m参数就是加上描述,后面的是镜像和镜像名:版本号

保存:docker save

-o参数:就是类似于压缩成什么文件,比如说保存为名称为mynginx.tar的文件

使用该文件时就可以docker load -i mynginx.tar来加载这个镜像,然后使用run命令运行即可。

分享到社区

登录:docker login

命名:docker tag

推送:docker push

如果想把自己的镜像分享到dockerhub社区,就需要使用以上命令,首先,需要进行登录

docker login

然后输入用户名和密码

然后需要改名,docker tag mynginx:v1.0 mez/mynginx:v1.0【后面的名字随便写】

然后使用docker push mez/mynginx:v1.0

然后再社区就可以看到你的镜像了

补充,如果想要别人下载的默认镜像是最新镜像,将推送的镜像改一下名称即可:

使用命令:docker tag mynginx:v1.0 mez/mynginx:latest

docker push mez/mynginx:latest

这样就可以下载不指定版本号的最新镜像了。

相关推荐
DP DPharness1 小时前
ClearAI、记忆插件与普通笔记,三种让 Agent 记住的路数对比
笔记
爱倒腾的老唐1 小时前
0、元器件——电阻
学习
sunshine22 girl2 小时前
Java学习七 Java 项目实战2-注册业务
java·学习
piikee3 小时前
粤语初学入门:从粤拼、九声六调到开口,一个普通话母语者的练习笔记
笔记·粤语入门·怎么学习粤语
sunshine22 girl3 小时前
Java学习七 Java 项目实战1-项目创建和主页面搭建
java·开发语言·学习
传奇开心果编程4 小时前
【SwiftUI提高练中学】第8课 网络层架构:拦截器、重试、缓存与离线优先
学习·macos·ui·ios·swiftui
一条破秋裤4 小时前
内核驱动的意义与课程学习规划
学习
Bug收容所5 小时前
学习LangChain day1
学习·langchain·llm·agent
传奇开心果编程5 小时前
【现代声明式UI学与练】第7课 组件通信——父传子、子传父、跨层级通信、状态提升与 Context
学习·flutter·react native·ui·swiftui·android jetpack
guo_wen_qiang5 小时前
docker的备份与迁移
运维·docker·容器