1

Docker常用命令|备忘单

 2 years ago
source link: https://www.iyouhun.com/post-197.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

Docker 是一个用于开发、传送和运行应用程序的开放平台。Docker 使您能够将应用程序与基础设施分开,以便您可以快速交付软件。使用 Docker,您可以像管理应用程序一样管理基础设施。通过利用 Docker 的快速交付、测试和部署代码的方法,您可以显着减少编写代码和在生产中运行代码之间的延迟。在这篇文章中,我将提到我们需要或大多数用例的 docker 命令。

生命周期命令

创建一个容器(不启动它)

docker create [OPTIONS] IMAGE [COMMAND] [ARG...]

# 使用docker镜像nginx:latest创建一个容器,并将容器命名为mynginx
# docker create  --name mynginx  nginx:latest

创建一个新的容器并运行一个命令

docker run [OPTIONS] IMAGE [COMMAND] [ARG...]

# 使用docker镜像nginx:latest以后台模式启动一个容器,并将容器命名为mynginx
# docker run --name mynginx -d nginx:latest

OPTIONS说明:

  • -a stdin: 指定标准输入输出内容类型,可选 STDIN/STDOUT/STDERR 三项;
  • -d: 后台运行容器,并返回容器ID;
  • -i: 以交互模式运行容器,通常与 -t 同时使用;
  • -P: 随机端口映射,容器内部端口随机映射到主机的端口
  • -p: 指定端口映射,格式为:主机(宿主)端口:容器端口
  • -t: 为容器重新分配一个伪输入终端,通常与 -i 同时使用;
  • —name=”nginx-lb”: 为容器指定一个名称;
  • —dns 8.8.8.8: 指定容器使用的DNS服务器,默认和宿主一致;
  • —dns-search example.com: 指定容器DNS搜索域名,默认和宿主一致;
  • -h “mars”: 指定容器的hostname;
  • -e username=”ritchie”: 设置环境变量;
  • —env-file=[]: 从指定文件读入环境变量;
  • —cpuset=”0-2” or —cpuset=”0,1,2”: 绑定容器到指定CPU运行;
  • -m :设置容器使用内存最大值;
  • —net=”bridge”: 指定容器的网络连接类型,支持 bridge/host/none/container: 四种类型;
  • —link=[]: 添加链接到另一个容器;
  • —expose=[]: 开放一个端口或一组端口;
  • —volume , -v: 绑定一个卷

重命名现有容器

docker rename [CONTAINER_NAME] [NEW_CONTAINER_NAME]

在新容器中运行命令

docker run [IMAGE] [COMMAND]

退出后移除容器

docker run --rm [IMAGE]

启动一个容器并保持运行

docker run -td [IMAGE]

启动一个容器并在容器中创建一个交互式 bash shell

docker run -it [IMAGE]

在容器内创建、启动和运行命令,并在执行命令后移除容器。

docker run -it-rm [IMAGE]

在已经运行的容器内执行命令。

docker exec -it [container]

删除一个容器(如果它没有运行)

docker rm [CONTAINER]

更新容器的配置

docker update [CONTAINER]

启动和停止容器

启动容器

docker start [CONTAINER]

停止运行容器

docker stop [CONTAINER]

停止运行容器并重新启动它

docker restart [CONTAINER]

暂停正在运行的容器中的进程

docker pause [CONTAINER]

取消暂停正在运行的容器中的进程

docker unpause [CONTAINER]

阻塞一个容器直到其他容器停止

docker wait [CONTAINER]

通过向正在运行的容器发送 SIGKILL 来杀死容器

docker kill [CONTAINER]

将本地标准输入、输出和错误流附加到正在运行的容器

docker attach [CONTAINER]

Docker 镜像命令

从 Dockerfile 创建镜像

docker build [URL/FILE]

从带有标签的 Dockerfile 创建镜像

docker build -t <tag> [URL/FILE]

从注册表中心拉取镜像

docker pull [IMAGE]

将镜像推送到注册中心

docker push [IMAGE]

从 tarball 创建镜像

docker import [URL/FILE]

从容器创建镜像

docker commit [CONTAINER] [NEW_IMAGE_NAME]

删除镜像

docker rmi [IMAGE]

从 tar 存档或标准输入加载镜像

docker load [TAR_FILE/STDIN_FILE]

将镜像保存到 tar 存档

docker save [IMAGE] > [TAR_FILE]

Docker 容器和镜像信息

列出正在运行的容器

docker ps

列出正在运行的容器和已停止的容器

docker ps -a

列出正在运行的容器中的日志

docker logs [CONTAINER]

列出 Docker 对象的低级信息

docker inspect [OBJECT_NAME/ID]

列出来自容器的实时事件

docker events [CONTAINER]

显示容器的端口映射

docker port [CONTAINER]

显示容器中正在运行的进程

docker top [CONTAINER]

显示容器的实时资源使用统计

docker stats [CONTAINER]

显示文件系统上文件(或目录)的更改

docker diff [CONTAINER]

列出本地使用 docker 引擎存储的所有镜像

docker [image] ls

显示镜像的历史

docker history [IMAGE]

列出网络

docker network ls

删除一个或多个网络

docker network rm [NETWORK]

显示一个或多个网络的信息

docker network inspect [NETWORK]

将容器连接到网络

docker network connect [NETWORK] [CONTAINER]

断开容器与网络的连接

docker network disconnect [NETWORK] [CONTAINER]

容器rootfs命令

从容器里面拷文件到宿主机

# docker cp 容器名:要拷贝的文件在容器里面的路径   要拷贝到宿主机的相应路径 
docker cp testtomcat:/usr/local/tomcat/webapps/test/js/test.js /root

从宿主机拷文件到容器里面

# docker cp 要拷贝的文件路径 容器名:要拷贝到容器里面对应的路径
docker cp /root/test.js testtomcat:/usr/local/tomcat/webapps/test/js

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK