docker的安装以及常用命令详解
发布人:shili8
发布时间:2024-12-29 11:35
阅读次数:0
**Docker 的安装与常用命令**
###1. Docker 的安装#### **在 Ubuntu 上安装 Docker**
首先,确保你的系统已经更新到最新版本:
bashsudo apt update && sudo apt upgrade -y
然后,安装 Docker:
bashsudo apt install docker.io -y
启动 Docker服务:
bashsudo systemctl start docker
设置 Docker服务开机自启:
bashsudo systemctl enable docker
#### **在 CentOS 上安装 Docker**
首先,确保你的系统已经更新到最新版本:
bashsudo yum update -y
然后,安装 Docker:
bashsudo yum install docker -y
启动 Docker服务:
bashsudo systemctl start docker
设置 Docker服务开机自启:
bashsudo systemctl enable docker
#### **在 Windows 上安装 Docker**
首先,下载并安装 Docker Desktop:
Docker 常用命令#### **1. docker run**
用于创建一个新的容器,并且可以指定容器的名称、镜像名等参数。
bashdocker run -it --name mycontainer ubuntu /bin/bash
* `-i`:使得标准输入保持打开状态。
* `-t`:分配一个伪终端(TTY)。
* `--name`:指定容器的名称。
* `ubuntu`:使用 Ubuntu 镜像。
* `/bin/bash`:在容器中执行 Bash shell。
#### **2. docker ps**
用于列出当前正在运行的容器。
bashdocker ps
* `-a`:显示所有容器,包括已经停止的容器。
* `-n`:显示最近创建的 N 个容器。
* `-q`:只显示容器 ID。
#### **3. docker stop**
用于停止一个或多个容器。
bashdocker stop mycontainer
* `mycontainer`:指定要停止的容器名称。
#### **4. docker rm**
用于删除一个或多个容器。
bashdocker rm mycontainer
* `mycontainer`:指定要删除的容器名称。
#### **5. docker images**
用于列出本地镜像列表。
bashdocker images
* `-a`:显示所有镜像,包括已经停止的镜像。
* `-q`:只显示镜像 ID。
#### **6. docker rmi**
用于删除一个或多个镜像。
bashdocker rmi myimage
* `myimage`:指定要删除的镜像名称。
#### **7. docker build**
用于构建一个 Docker 镜像。
bashdocker build -t myimage .
* `-t`:指定镜像名称。
* `.`:指定 Dockerfile 的路径。
#### **8. docker tag**
用于给一个镜像打上新的标签。
bashdocker tag myimage:latest myimage:v1
* `myimage:latest`:指定原来的镜像名称和标签。
* `myimage:v1`:指定新的镜像名称和标签。
#### **9. docker push**
用于推送一个镜像到 Docker Hub 或其他 registry服务器。
bashdocker push myimage
* `myimage`:指定要推送的镜像名称。
#### **10. docker pull**
用于从 Docker Hub 或其他 registry服务器拉取一个镜像。
bashdocker pull myimage
* `myimage`:指定要拉取的镜像名称。
###3. DockerfileDockerfile 是一个文本文件,用于描述如何构建一个 Docker 镜像。它包含一系列指令和命令,用于下载依赖项、设置环境变量等。
#### **1. FROM**
用于指定镜像的基础镜像。
dockerfileFROM ubuntu:latest
* `ubuntu:latest`:指定基础镜像名称和标签。
#### **2. RUN**
用于执行一个命令或脚本。
dockerfileRUN apt-get update && apt-get install -y python3
* `apt-get update`:更新依赖项。
* `apt-get install -y python3`:安装 Python3。
#### **3. COPY**
用于复制文件或目录到镜像中。
dockerfileCOPY requirements.txt /app/
* `requirements.txt`:指定要复制的文件名称。
* `/app/`:指定复制到的路径。
#### **4. WORKDIR**
用于设置工作目录。
dockerfileWORKDIR /app/
* `/app/`:指定工作目录。
#### **5. EXPOSE**
用于指定容器暴露的端口。
dockerfileEXPOSE80
* `80`:指定暴露的端口号。
#### **6. CMD**
用于指定容器启动时执行的命令或脚本。
dockerfileCMD ["python3", "app.py"]
* `["python3", "app.py"]`:指定要执行的命令和参数。
###4. Docker ComposeDocker Compose 是一个工具,用于定义和运行多个容器应用。它允许你使用 YAML 文件来描述应用的依赖项、环境变量等。
#### **1. services**
用于定义服务。
ymlservices: web: build: . ports: - "80:80"
* `web`:指定服务名称。
* `build: .`:指定构建镜像的路径。
* `ports:`:指定暴露的端口号。
#### **2. environment**
用于定义环境变量。
ymlenvironment: - MY_VAR=hello
* `- MY_VAR=hello`:指定环境变量名称和值。
#### **3. volumes**
用于定义卷。
ymlvolumes: - ./data:/app/data
* `./data`:指定源路径。
* `/app/data`:指定目标路径。
#### **4. depends_on**
用于定义依赖项。
ymldepends_on: - db
* `- db`:指定依赖项名称。
###5. Docker SwarmDocker Swarm 是一个工具,用于部署和管理多个容器应用。它允许你使用命令行或 API 来定义和运行应用。
#### **1. docker swarm init**
用于初始化 Swarm 集群。
bashdocker swarm init
* `docker swarm init`:指定要初始化的集群名称。
#### **2. docker node ls**
用于列出 Swarm 节点列表。
bashdocker node ls
* `-a`:显示所有节点,包括已经停止的节点。
* `-n`:显示最近创建的 N 个节点。
* `-q`:只显示节点 ID。
#### **3. docker service create**
用于创建服务。
bashdocker service create --name myservice -p80:80 myimage
* `myservice`:指定服务名称。
* `-p80:80`:指定暴露的端口号。
* `myimage`:指定镜像名称。
#### **4. docker service ls**
用于列出服务列表。
bashdocker service ls
* `-a`:显示所有服务,包括已经停止的服务。
* `-n`:显示最近创建的 N 个服务。
* `-q`:只显示服务 ID。
#### **5. docker service rm**
用于删除服务。
bashdocker service rm myservice
* `myservice`:指定要删除的服务名称。