Docker基础
一份详尽的指南
欢迎阅读这篇博客!本篇文章将详细讲述如何安装和使用Docker以及Docker Compose,以及一些常用的Docker指令及其意义。
安装Docker
使用官方安装脚本自动安装(仅适用于公网环境)
curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun
手动安装
首先,我们需要安装Docker。以下是在Ubuntu系统中安装Docker的步骤:
- 更新系统包
sudo apt-get update
- 安装必要依赖
sudo apt-get install apt-transport-https ca-certificates curl software-properties-common
- 添加Docker官方GPG key
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
- 添加Docker的APT源
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
- 安装Docker CE
sudo apt-get install docker-ce
- 检查是否安装成功
sudo docker run hello-world
如果看到"Hello from Docker!"的消息,那么恭喜你,Docker已经成功安装在你的机器上了。
安装Docker Compose
Docker Compose V2是Docker的下一代工具,用于定义和运行多容器Docker应用程序。从Docker 20.10开始,Docker Compose已被纳入Docker CLI,不再需要单独安装。 但如果你需要单独安装Docker Compose,可以遵循以下步骤:
sudo apt install docker-compose-plugin
检查安装是否成功
docker-compose --version
如果看到Docker Compose的版本号,那么恭喜你,Docker Compose已经成功安装在你的机器上了。
安装校验
root@iZuf6594e6gmiic5yjtu12Z:~# docker version
Client: Docker Engine - Community
Version: 24.0.6
API version: 1.43
Go version: go1.20.7
Git commit: ed223bc
Built: Mon Sep 4 12:32:12 2023
OS/Arch: linux/amd64
Context: default
Server: Docker Engine - Community
Engine:
Version: 24.0.6
API version: 1.43 (minimum version 1.12)
Go version: go1.20.7
Git commit: 1a79695
Built: Mon Sep 4 12:32:12 2023
OS/Arch: linux/amd64
Experimental: false
containerd:
Version: 1.6.22
GitCommit: 8165feabfdfe38c65b599c4993d227328c231fca
runc:
Version: 1.1.8
GitCommit: v1.1.8-0-g82f18fe
docker-init:
Version: 0.19.0
GitCommit: de40ad0
常用Docker指令
docker run [OPTIONS] IMAGE [COMMAND] [ARG...]
-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 Compose指令
- docker-compose up -d: 构建建启动容器
- docker-compose down 删除所有容器,镜像
- docker-compose ps 显示所有容器
- docker-compose restart 重新启动容器
- docker-compose run --no-deps --rm php-fpm php -v 在php-fpm中不启动关联容器,并容器执行php -v 执行完成后删除容器
- docker-compose build 构建镜像
- docker-compose build --no-cache 不带缓存的构建
- docker-compose logs 查看的日志
- docker-compose logs -f 验证(docker-compose.yml)文件配置,当配置正确时,不输出任何内容,当文件配置错误,输出错误信息
- docker-compose pause 暂停容器
- docker-compose unpause 恢复容器
- docker-compose rm 删除容器(删除前必须关闭容器)
- docker-compose stop 停止容器
- docker-compose start 启动容器
- 安装Docker
- 使用官方安装脚本自动安装(仅适用于公网环境)
- 手动安装
- 安装Docker Compose
- 安装校验
- 常用Docker指令
- 常用Docker Compose指令