Fork me on GitHub

docker基础语法

Docker 学习笔记

一、安装 Docker

  1. 安装 yum -y install epel-release,为后续安装做准备。
  2. 安装 Docker:curl -sSL https://get.daocloud.io/docker | sh
  3. 设置仓库:
    sudo yum install -y yum-utils \
    device-mapper-persistent-data \
    lvm2
    
  4. 启动 Docker:sudo systemctl start docker
  5. 通过运行 hello-world 映像验证安装:sudo docker run hello-world

二、Docker 基本操作

(一)运行容器

  1. 运行简单命令:docker run ubuntu:15.10 /bin/echo "Hello world"
  2. 启动容器(后台模式):docker run -d ubuntu:15.10 /bin/sh -c "while true; do echo hello world; sleep 1; done"

(二)容器管理

  1. 查看进程docker ps,用于查看正在运行的容器进程。
  2. 查看日志docker logs [容器 ID],例如 docker logs 48ee40c,可查看特定容器的日志信息。
  3. 停止容器docker stop [容器 ID],如 docker stop 48ee40cdocker stop amazing_cori

(三)容器使用进阶

  1. 获取镜像
    • docker pull ubuntu,从 Docker 仓库拉取镜像。
    • docker search jdk,搜索可用的 JDK 镜像。
  2. 启动容器并进入交互模式docker run -it ubuntu /bin/bash,可进入容器内部进行操作;docker run -d -it [容器 ID] /bin/bash 以守护进程和交互模式启动容器。
  3. 退出容器:在容器内输入 exit 可退出容器。
  4. 查看所有容器docker ps -a,包括已停止的容器。
  5. 重启容器docker restart [容器 ID],如 docker restart ca1662c70869b
  6. 进入容器(不同方式)
    • docker attach [容器 ID],进入容器,但退出容器时会停止容器,如 docker attach ca166c70869b
    • docker exec -it [容器 ID] /bin/bash,进入容器后,退出容器不会导致容器停止,如 docker exec -it ca166c708629b /bin/bash
  7. 导出镜像文件到本地docker export [容器 ID] >./ubuntu.tar,例如 docker export ca166c70869b >./ubuntu.tar
  8. 导入容器cat./ubuntu.tar | docker import - ubuntu:15.10,将导出的镜像文件导入并自定义容器名称为 ubuntu:15.10
  9. 删除容器docker rm -f [容器 ID],如 docker rm -f 1e560f2ca3906,删除容器(删除镜像前需先删除已停止容器);docker rm $(docker ps -a -q),删除所有已停止的容器。

三、运行 Web 应用

  1. 载入镜像docker pull training/webapp
  2. 运行容器docker run -d -P training/webapp python app.py
  3. 查看网络映射端口docker port [容器 ID],例如 docker port bf08b72f2cd89
  4. 查看运行日志docker logs -f [容器 ID],如 docker logs -f ad01ef625f8d2b,可实时查看容器运行日志。
  5. 查看容器内部运行的进程docker top [容器 ID],如 docker top ad02ef625f8d2b

四、镜像管理

  1. 查看镜像列表docker images
  2. 获取指定的镜像docker pull ubuntu:13.10
  3. 删除单个镜像docker rmi hello-world(删除镜像得先删除已停止容器)。
  4. 删除所有镜像docker rmi -f $(docker images -q),强制删除所有镜像;docker rmi $(docker image -q)(此命令中 docker image -q 应为 docker images -q )。
posted @ 2024-12-22 20:29  橘子偏爱橙子  阅读(47)  评论(0)    收藏  举报