
01-docker入门
docker启动
wsl中的原生docker
shell
## 非后台启动
sudo dockerd
## dockerd 后台运行
sudo dockerd > /var/log/docker.log 2>&1 &测试docker是否可以正常拉取镜像
我们挑一个小一点的测试
shell
docker pull alpine查看docker版本
shell
docker -v镜像
查看
shell
## 查看镜像列表
docker images删除
shell
# 删除镜像(需要先删除使用该镜像的容器)
docker rmi <镜像ID或名称>
# 强制删除镜像
docker rmi -f <镜像ID或名称>
# 示例
docker rmi chromadb/chroma
docker rmi d8c794af-a803
## 删除多个镜像
# 删除多个指定镜像
docker rmi image1 image2 image3
# 示例
docker rmi chromadb/chroma ubuntu:latest nginx:alpine修改镜像名称
shell
# 注意 docker里面 镜像没有原地改名 只有复制一份 换新名字 但是可以先复制 再删除的方法实现原地改名
# 第一步:贴上新标签(复制引用) 此时,系统里有两个名字指向同一个镜像 ID。
docker tag nginx:1.14 my-nginx:v1
# 第二步:撕掉旧标签(删除旧名)
docker rmi nginx:1.14
# 注意 tag的主要用途是将镜像给推送到私有仓库 需要名字标准化 [registry]/[repository]:[tag]
docker tag nginx-test:1.14 harbor.example.com/nginx-test:1.4
# docker push 就是将镜像推送到了 harbor.example.com
docker push harbor.example.com/nginx-test:1.4打包镜像/加载镜像
还是很有用的,毕竟镜像我们无法导出给别人,但是我们可以将镜像打包成tar发给别人
shell
docker save nginx:1.14 -o test.tar
docker load < test.tar容器
查看
shell
## 查看正在运行的容器
docker ps
## 查看所有容器(包括已停止的)
docker ps -a
## 查看最新创建的容器
docker ps -l
## 查看最后创建的 5 个容器
docker ps -n 5
## 查看容器的详细信息
docker inspect 容器id删除
shell
# 删除已停止的容器
docker rm <容器ID或名称>
# 强制删除正在运行的容器
docker rm -f <容器ID或名称>
# 示例
docker rm my-chroma-container
docker rm -f d8c794af-a803
## 删除多个容器
# 删除多个指定容器
docker rm container1 container2 container3
# 使用空格分隔多个容器ID或名称
docker rm d8c794af a3b2c1d4 my-container运行容器
shell
## 运行容器并进入容器内部
docker run -it centos:7 /bin/bash
exit # 退出容器
## 后台运行
docker run -d --name my-centos centos:7
## 开机自启动 2种方式
docker run --restart=always -d --name my-nginx nginx:1.4
docker update 容器id/名字 --restart=always
# 进入已在后台运行的容器
docker exec -it my-centos /bin/bashshell
docker run -d -p 8080:8080 --name my-go-app myapp- my-go-app 自定义的容器名称
- myapp 指定的镜像名称
停止容器
shell
docker stop my-centos启动已停止的容器
shell
docker start my-centos查看容器状态
shell
docker stats <容器id>修改容器名字
shell
docker rename <容器id> <新名字>拷贝文件到容器
shell
touch 1.txt
#把本地文件拷进容器
docker cp 1.txt 容器名:路径
## 启动容器
docker start 容器名
#进入容器
docker exec -it 容器名 bash容器转成镜像
shell
docker commit -m "test commit" <容器id/容器名称> <新镜像名称>构建dockerfile
假设你的项目根目录下有一个 Dockerfile,你可以这样构建:
shell
docker build -t myapp:1.0 .- 使用当前目录(.)作为构建上下文;
- 读取该目录下的 Dockerfile;
- 构建一个名为 myapp、标签为 1.0 的镜像。
其他常用选项:
-f:指定 Dockerfile 文件名(如果文件不叫Dockerfile)bashdocker build -t myapp -f ./path/to/Dockerfile.custom .--no-cache:构建时不使用缓存bashdocker build --no-cache -t myapp .--build-arg:传递构建参数(需在 Dockerfile 中用ARG声明)bashdocker build --build-arg VERSION=1.2.3 -t myapp .

