docker常用指令

91 阅读3分钟

一、常用指令

拉取镜像:docker pull "镜像名称"

比如:docker pull library/hello-world

启动容器:docker run "镜像名称"

比如:docker run library/hello-world
     docker run -it ubuntu -i是可交互模式,-t是为容器分配一个伪终端
     docker run -itd ubuntu -d后台运行容器
     

查看容器:docker ps -a

进入容器:docker exec -it "容器id"

停止容器:docker stop "容器id"

删除容器:docker rm "容器id1" "容器2"...

删除镜像:docker rmi "镜像id"

二、自己的镜像

启动容器,暴漏端口:docker run -it -p 8000:8000 ubuntu bash

在ubuntu中:

更新软件源:apt update

下载curl:apt install -y curl

安装code-server:curl -fsSL code-server.dev/install.sh | sh

链接

运行code-server:code-server

image.png

更改端口: code-server --bind-addr=0.0.0.0:8000 --auth=none

image.png

这样在容器外部就可以使用vscode了。

二、做镜像的方式

通过交互式把容器打包成镜像

将容器打包成镜像:docker commit "容器id"


docker run 的作用是将image运行在一个container中
docker commit 的作用是将当前容器打包成一个image

执行commit后查看images:docker images

image.png 从当前的ubuntu中退出:exit

启动自己的镜像:docker run -it -p 8000:8000 90b63d256ec1 code-server --bind-addr=0.0.0.0:8000 --auth=none

上面启动的方式容器运行在前台,如果终端关闭了,它也就停止了。

如何在后台运行:

docker run -it -p 8000:8000 --entrypoint "code-server" -d 90b63d256ec1 --bind-addr=0.0.0.0:8000 --auth=none

关键指令参数解释:

entrypoint的含义:应什么样的命令去启动这个容器

d:在后台运行

查看启动日志:docker logs "容器id"

image.png

如何将镜像上传到镜像仓库中

镜像的组成:<repo>/<image>:<tag>

如果有repo是私有仓库,如果没有是官方仓库

登录账号:docker login -u xxx -p xxx

tag指令起别名: docker tag "镜像id" docker.cnb.cool/ai-application-2025/cloud-development:latest

image.png 上传镜像:docker push docker.cnb.cool/ai-application-2025/cloud-development:latest

删除所有镜像和容器

启动自己上传的镜像 docker run -it -p 8000:8000 --entrypoint "code-server" -d "镜像地址" --bind-addr=0.0.0.0:8000 --auth=none

通过dockerfile自动化构建一个镜像

通过编程的方式,创建镜像

创建Dockerfile文件

添加指令,和上面用容器创建镜像的指令一样

# 从仓库中拉去ubuntu镜像
FROM ubuntu:latest
# 更新并安装curl
RUN apt update && apt install -y curl 
# 下载浏览器版vscode
RUN curl -fsSL https://code-server.dev/install.sh | sh

构建镜像:docker build -t docker.cnb.cool/ai-application-2025/cloud-development:v1.0.0 .

"."代表是从当前所在环境获取构建镜像相关文件

docker build -t 镜像名:标签 构建路径

然后推送到仓库中

image.png

好处就是方便,比如需要安装vscode插件,重新发布镜像,只需要在指令中

修改dockerfile文件

FROM ubuntu:latest

RUN apt update && apt install -y curl 

RUN curl -fsSL https://code-server.dev/install.sh | sh

RUN code-server --install-extension golang.go

然后再构建:docker build -t docker.cnb.cool/ai-application-2025/cloud-development:v1.0.1 .

因为之前构建过一次了,再次构建会复用第一次构建的,所以比较快

再推送,可以在推送之前启动容器查看插件是否安装生效