Docker 命令

🐳 docker build

参数:

  • -t,指定镜像的名称和标签,格式为 name:tag
  • -f,指定 Dockerfile 文件的路径或 URL
  • –build-arg,用于传递构建参数给 Dockerfile

示例:
构建一个名为 myimage 的镜像,使用当前目录下的 Dockerfile 文件:

docker build -t myimage .

 

🐳  docker run

参数:

  • -d,以后台模式运行容器
  • -p,指定容器端口与主机端口的映射关系
  • –name,为容器指定名称
  • –rm,容器退出时自动删除容器文件系统
  • -e,设置环境变量
  • -v,指定容器内外的数据卷映射关系

示例:
从 myimage 镜像启动一个名为 mycontainer 的容器,映射容器的 80 端口到主机的 8080 端口:

docker run -d -p 8080:80 --name mycontainer myimage

 

🐳 docker ps

参数:

  • -a,列出所有容器而不仅仅是正在运行的容器
  • -q,只列出容器 ID

示例:
列出所有正在运行的容器:

docker ps

 

🐳 docker images

参数:

  • -a,列出所有镜像而不仅仅是已经构建的镜像
  • -q,只列出镜像 ID

示例:
列出所有已经构建的镜像:

docker images

 

🐳 docker stop

参数:

示例:
停止名为 mycontainer 的容器:

docker stop mycontainer

 

🐳 docker start

参数:

  • container,要启动的 Docker 容器 ID 或名称

示例:
启动已经停止的 Docker 容器:

docker start mycontainer

 

🐳 docker restart

参数:

  • container,要重启的 Docker 容器 ID 或名称

示例:
重启正在运行的 Docker 容器:

docker restart mycontainer

 

🐳 docker rm

参数:

  • -f,强制删除正在运行的容器
  • -v,同时删除容器对应的数据卷

示例:
删除名为 mycontainer 的容器:

docker rm mycontainer

 

🐳 docker rmi

参数:

  • -f,强制删除正在运行的容器
  • -q,只删除镜像 ID

示例:
删除名为 myimage 的镜像:

docker rmi myimage

 

🐳 docker exec

参数:

  • -i,以交互模式运行容器
  • -t,为容器分配一个伪终端
  • -u,指定执行命令的用户
  • -e,设置环境变量

示例:
在名为 mycontainer 的容器中运行一个 shell:

docker exec -it mycontainer /bin/sh

 

🐳 docker logs

参数:

  • -f,跟踪容器日志输出

示例:
查看名为 mycontainer 的容器的日志:

docker logs mycontainer

 

🐳 docker inspect

参数:

示例:
查看名为 mycontainer 的容器的详细信息:

docker inspect mycontainer

 

🐳 docker network

参数:

  • create,创建一个新的网络
  • connect,将容器连接到网络
  • disconnect,将容器从网络中断开连接
  • ls,列出所有网络

示例:
创建一个名为 mynetwork 的网络:

docker network create mynetwork

 

🐳 docker volume

参数:

  • create,创建一个新的数据卷
  • rm,删除一个数据卷
  • ls,列出所有数据卷

示例:
创建一个名为 myvolume 的数据卷:

docker volume create myvolume

 

🐳 Docker tag

参数:

示例:
将本地的镜像打上标签,例如将名为 myimage 的镜像打上 tag 为 v1.0 的标签:

docker tag myimage:v1.0 myusername/myimage:v1.0

 

🐳 docker push

参数:

示例:
将本地的镜像推送到 Docker Hub 上,例如将名为 myimage 的镜像推送到 myusername 用户下的 Docker Hub:

docker push myusername/myimage:v1.0

 

🐳 docker pull

参数:

示例:
从 Docker Hub 上拉取名为 myimage 的镜像,例如拉取 myusername 用户下的 Docker Hub 上的 myimage 镜像:

docker pull myusername/myimage:v1.0

 

🐳 docker search

参数:

  • –filter=STARS,根据收藏数过滤镜像
  • –filter=IS_OFFICIAL,根据是否官方镜像过滤
  • –filter=IS_AUTOMATED,根据是否自动构建过滤
  • –limit=N,限制显示结果数量

示例:
搜索镜像,例如搜索名为 nginx 的镜像:

docker search nginx

 

🐳 docker history

参数:

  • –no-trunc,显示完整的历史记录

示例:
查看镜像的历史记录,例如查看名为 myimage 的镜像的历史记录:

docker history myimage

 

🐳 docker save

参数:

示例:
将镜像保存为 tar 文件,例如将名为 myimage 的镜像保存为 myimage.tar 文件:

docker save myimage > myimage.tar

 

🐳 docker load

参数:

示例:
从 tar 文件中加载镜像,例如从 myimage.tar 文件中加载镜像:

docker load < myimage.tar

 

🐳 docker port

参数:

示例:
查看容器的端口映射情况,例如查看名为 mycontainer 的容器的端口映射情况:

docker port mycontainer

 

🐳 docker stats

参数:

示例:
查看容器的资源占用情况,例如查看名为 mycontainer 的容器的资源占用情况:

docker stats mycontainer

 

🐳 docker commit

参数:

  • -a,指定作者
  • -m,指定提交信息
  • -p,在提交时暂停容器

示例:
将一个正在运行的容器提交为新的镜像,例如将名为 mycontainer 的容器提交为名为 myimage 的新镜像:

docker commit -m "Added new package" -a "John Doe" mycontainer myimage

 

🐳 docker login

参数:

  • username,Docker Hub 用户名
  • password,Docker Hub 密码
  • email,Docker Hub 邮箱

示例:
登录 Docker Hub,使用用户名、密码和邮箱:

docker login --username=myusername --password=mypassword --email=myemail@example.com

 

🐳 docker logout

用于从 Docker Registry 登出,以便在使用 Docker Hub 或其他 Registry 时,切换到不同的账户

语法

docker logout [SERVER]

其中,SERVER 参数指定要登出的 Registry 地址,默认为 Docker Hub。例如,要从 Docker Hub 注销当前用户,可以使用以下命令:

docker logout

 

🐳 docker attach

用于连接到正在运行的容器,并将本地终端附加到容器的标准输入、输出和错误流

语法

docker attach [OPTIONS] CONTAINER

参数:

  • –detach-keys:指定分离键,用于在容器中按下此键时,分离本地终端和容器的连接
  • –no-stdin:禁用标准输入流
  • –sig-proxy:启用信号代理,以便在容器中按下 Ctrl+C 等终止信号时,将信号传递到容器内部

 

需要注意的是,使用 docker attach 命令连接到正在运行的容器时,可能会导致容器中的进程被暂停或停止。因此,建议使用 docker exec 命令在容器中运行新的进程,而不是连接到已经运行的进程

 

🐳 docker system

参数:

  • prune,清理所有未被使用的资源,包括未使用的容器、镜像、卷和网络

示例:
清理所有未被使用的 Docker 资源:

docker system prune

 

posted @ 2023-04-05 17:34  SuperCodeX  阅读(46)  评论(0编辑  收藏  举报