Docker构建与运行


文档摘要

Docker 构建与运行 Docker 使用此目录中的 Dockerfile 创建镜像 运行“image-name”,将端口8080映射到80 运行“image-name”,将端口8080映射到80,但在分离模式下运行 查看所有正在运行的容器列表 平稳停止指定容器 查看所有容器列表,包括未运行的容器 强制关闭指定容器 从本机删除指定容器 从本机删除所有容器 显示本机上的所有镜像 旧版:从本机删除指定镜像 旧版:从本机删除所有镜像 旧版:删除所有具有依赖关系的镜像 使用 Docker 凭据登录此命令行会话 标记 以便上传到注册表 将标记后的镜像上传到注册表 从注册表运行镜像 列出 Docker 卷 列出 Docker 网络 访问已运行的容器并在其中执行操作 Docker Compose

Docker 构建与运行 Docker

  • 使用此目录中的 Dockerfile 创建镜像

docker build -t image-name .

  • 运行“image-name”,将端口8080映射到80

docker run -p 8080:80 image-name

  • 运行“image-name”,将端口8080映射到80,但在分离模式下运行

docker run -d -p 8080:80 image-name

  • 查看所有正在运行的容器列表

docker ps

  • 平稳停止指定容器

docker stop <hash>

  • 查看所有容器列表,包括未运行的容器

docker ps -a

  • 强制关闭指定容器

docker kill <hash>

  • 从本机删除指定容器

docker rm <hash>

  • 从本机删除所有容器

docker rm $(docker ps -a -q)

  • 显示本机上的所有镜像

docker images -a

  • 旧版:从本机删除指定镜像

docker rmi <imagename>

  • 旧版:从本机删除所有镜像

docker rmi $(docker images -q)

  • 旧版:删除所有具有依赖关系的镜像

docker images -q | xargs docker rmi –f

  • 使用 Docker 凭据登录此命令行会话

docker login

  • 标记 以便上传到注册表

docker tag <image> username/repository:tag

  • 将标记后的镜像上传到注册表

docker push username/repository:tag

  • 从注册表运行镜像

docker run username/repository:tag

  • 列出 Docker 卷

docker volume ls

  • 列出 Docker 网络

docker network ls

  • 访问已运行的容器并在其中执行操作

docker exec -it <containerId> bash

Docker Compose Docker

  • 使用 Docker Compose 文件构建 Docker 镜像

docker-compose build

  • 运行 Docker 容器

docker-compose up

  • 在后台模式下运行 Docker 容器

docker-compose up -d

  • 在启动容器之前构建镜像

docker-compose up --build

  • 从现有镜像重新创建容器

docker-compose up --force-recreate

  • 停止并移除容器、卷、网络和镜像

docker-compose down

  • 列出容器

docker-compose ps -a

  • 显示日志输出

docker-compose logs

Docker Swarm Docker

  • 初始化

docker swarm init

  • 加入 Docker 集群

```` docker swarm join --token SWMTKN-1-3pu6hszjas19xyp7ghgosyx9k8atbfcr8p2is99znpy26u2lkl-1awxwuwd3z9j1z3puu7rcgdbx <manager/worker>:2377 ```

  • 列出 Swarm 集群中的 Docker 节点

docker node ls

  • 列出此 Docker 主机上所有正在运行的应用

docker stack ls

  • 运行指定的 Compose 文件

docker stack deploy -c <composefile> <STACK_NAME>

  • 列出与应用关联的服务

docker stack services <appname>

  • 列出与应用关联的正在运行的容器

docker stack ps <appname>

  • 拆解应用

docker stack rm <STACK_NAME>alias dstr='docker stack rm'

  • Docker Swarm 服务列表

docker service ls
alias dsls='docker service ls'

  • 列出一个或多个服务的任务

docker service ps <service_name>
alias dsp='docker service ps'

  • Docker Swarm 服务日志

alias dsl='docker service logs'

  • 删除特定的 Docker Swarm 服务

alias dsr='docker service rm'

  • 删除未使用的容器、镜像、网络等

alias sprune='docker system prune'

  • 删除未使用的卷

alias vprune='docker volume prune'

  • 创建密钥

docker secret create <SECRET_NAME> <SECRET_PATH>

  • 创建配置

docker config create <CONFIG_NAME> <CONFIG_FILE_PATH>

要删除包括其卷的所有容器,请使用,

docker rm -vf $(docker ps -a -q)

要删除所有镜像,

docker rmi -f $(docker images -a -q)

记住,你应该在删除由这些容器创建的镜像之前先删除所有容器。

如果您正在使用 Windows(PowerShell),则可以使用以下命令,

$images = docker images -a -q foreach ($image in $images) { docker image rm $image -f }

删除所有镜像

docker rmi $(docker images -a)

删除处于退出状态的容器

docker rm $(docker ps -a -f status=exited -q)

删除处于创建状态的容器

docker rm $(docker ps -a -f status=created -q)

注意:先删除所有容器,然后再删除镜像

Docker 运行镜像的 bash shell

docker run -it --entrypoint bash <image-name>

列出所有 Docker 命令

docker --help

声明:
本文件灏天文库团队进行了翻译。尽管我们力求准确,但请注意,翻译可能包含错误或不准确之处。原文档以其原始语言为准。我们不对因使用此翻译而产生的任何误解或误译负责。


发布者: 作者: 转发
评论区 (0)
U