Docker 入门教程 Docker 备忘单

2024-02-25 开发教程 Docker 入门教程 匿名 3

这是 Docker 的快速参考备忘单。您可以在此处找到最常用的 Docker 命令。

开始

入门

在后台创建和运行容器

$ docker run -d -p 80:80 docker/getting-started

  • -d- 在分离模式下运行容器
  • -p 80:80- 将端口 80 映射到容器中的端口 80
  • docker/getting-started- 要使用的图像

在前台创建并运行容器

$ docker run -it -p 8001:8080 --name my-nginx nginx

  • -it- 交互式 bash 模式
  • -p 8001:8080- 将端口 8001 映射到容器中的端口 8080
  • --name my-nginx- 指定名称
  • nginx- 要使用的图像

一般命令

命令描述

docker ps

列出正在运行的容器

docker ps -a

列出所有容器

docker ps -s

列出正在运行的容器
(带 CPU/内存)

docker images

列出所有图像

docker exec -it <container> bash

连接到容器

docker logs <container>

显示容器的控制台日志

docker stop <container>

停止一个容器

docker restart <container>

重启一个容器

docker rm <container>

移除一个容器

docker port <container>

显示容器的端口映射

docker top <container>

列出进程

docker kill <container>

杀死一个容器

参数<container>可以是容器 ID 或名称

Docker 容器

启动和停止

命令描述

docker start nginx-server

开始

docker stop nginx-server

停止

docker restart nginx-server

重启

docker pause nginx-server

暂停

docker unpause nginx-server

取消暂停

docker wait nginx-server

阻塞容器

docker kill nginx-server

发送 SIGKILL

docker attach nginx-server

连接到现有容器

信息

命令描述

docker ps

列出正在运行的容器

docker ps -a

列出所有容器

docker logs nginx-server

容器日志

docker inspect nginx-server

检查容器

docker events nginx-server

容器事件

docker port nginx-server

公共端口

docker top nginx-server

运行进程

docker stats nginx-server

容器资源使用

docker diff nginx-server

列出对容器所做的更改。

创建

docker create [options] IMAGE
-a, --attach # attach stdout/err
-i, --interactive # attach stdin (interactive)
-t, --tty # pseudo-tty
--name NAME # name your image
-p, --publish 5000:5000 # port map (host:container)
--expose 5432 # expose a port to containers
-P, --publish-all # publish all ports
--link container:alias # linking
-v, --volume `pwd`:/app # mount (absolute paths needed)
-e, --env NAME=hello # env vars

例子

$ docker create --name my_redis --expose 6379 redis:3.0.2

操作

重命名容器

docker rename my-nginx nginx-server

移除容器

docker rm nginx-server

更新容器

docker update --cpu-shares 512 -m 300M nginx-server

Docker 镜像

操作

命令 描述 docker images列出图像 docker rmi nginx删除图像 docker load < ubuntu.tar.gz

加载 tarred 存储库 docker load --input ubuntu.tar加载 tarred 存储库 docker save busybox > ubuntu.tar

将图像保存到 tar 存档 docker history显示图像的历史 docker commit nginx将容器另存为图像。 docker tag nginx eon01/nginx

标记图像 docker push eon01/nginx推送图片 ="reference">

构建图像

$ docker build .
$ docker build github.com/creack/docker-firefox
$ docker build - < Dockerfile
$ docker build - < context.tar.gz
$ docker build -t eon/nginx-server .
$ docker build -f myOtherDockerfile .
$ curl example.com/remote/Dockerfile | docker build -f - .

Docker 网络

操作

删除网络

docker network rm MyOverlayNetwork

列出网络

docker network ls

获取有关网络的信息

docker network inspect MyOverlayNetwork

将正在运行的容器连接到网络

docker network connect MyOverlayNetwork nginx

启动时将容器连接到网络

docker run -it -d --network=MyOverlayNetwork nginx

断开容器与网络的连接

docker network disconnect MyOverlayNetwork nginx

创建网络

docker network create -d overlay MyOverlayNetwork

docker network create -d bridge MyBridgeNetwork

docker network create -d overlay \
--subnet=192.168.0.0/16 \
--subnet=192.170.0.0/16 \
--gateway=192.168.0.100 \
--gateway=192.170.0.100 \
--ip-range=192.168.1.0/24 \
--aux-address="my-router=192.168.1.5" \
--aux-address="my-switch=192.168.1.6" \
--aux-address="my-printer=192.170.1.5" \
--aux-address="my-nas=192.170.1.6" \
MyOverlayNetwork

其他

码头工人中心

Docker 语法 描述 docker search search_word在 docker hub 中搜索图像。 docker pull user/image 从 docker hub 下载镜像。 docker login

向 docker hub 进行身份验证 docker push user/image 将图像上传到 docker hub。 ="reference">

注册表命令

登录注册表

$ docker login
$ docker login localhost:8080

从注册表注销

$ docker logout
$ docker logout localhost:8080

搜索图像

$ docker search nginx
$ docker search nginx --stars=3 --no-trunc busybox

拉取镜像

$ docker pull nginx
$ docker pull eon01/nginx localhost:5000/myadmin/nginx

推送图像

$ docker push eon01/nginx
$ docker push eon01/nginx localhost:5000/myadmin/nginx

批量清理

命令描述

docker stop -f $(docker ps -a -q)

停止所有容器

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

删除所有容器

docker rmi -f $(docker images -q)

删除所有图像

容量

检查容量

$ docker volume ls

清理未使用的容量

$ docker volume prune
下一节: 没有了