Linux--docker使用
Linux下 Docker 工具使用
Docker 基本介绍
Docker 是一个开源的应用容器引擎,可以让开发者将应用及其依赖打包到一个轻量级、可移植的容器中,然后在任何支持 Docker 的 Linux 主机上快速运行。它的最大优势在于环境隔离和可移植性,尤其适用于开发、测试和部署的全流程。
Docker 与虚拟机的区别
对比项 | 虚拟机 | Docker |
---|---|---|
启动速度 | 分钟级 | 秒级 |
占用资源 | 较高(需要完整OS) | 较低(共享宿主机内核) |
隔离性 | 完全隔离 | 进程级隔离 |
可移植性 | 一般 | 极高 |
部署复杂度 | 较复杂 | 简单 |
Docker 的核心概念
镜像(Image):应用及运行环境的只读模板。
容器(Container):镜像运行时的实例,可读可写。
仓库(Registry):存放镜像的地方(如 Docker Hub、阿里云镜像仓库)。
Linux 下安装 Docker
以 Ubuntu 为例:
- 更新软件包
1
sudo apt update
- 安装必要依赖
1
sudo apt install apt-transport-https ca-certificates curl software-properties-common -y
- 添加 Docker 官方 GPG 密钥
1
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker.gpg
- 添加 Docker 仓库
1
2echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" \
| sudo tee /etc/apt/sources.list.d/docker.list > /dev/null - 安装 Docker
1
2sudo apt update
sudo apt install docker-ce docker-ce-cli containerd.io -y - 启动并设置开机自启
1
2sudo systemctl start docker
sudo systemctl enable docker
测试:
1 | docker --version |
Docker 基本使用命令
镜像操作
搜索镜像
docker search ubuntu
拉取镜像
docker pull ubuntu:20.04
查看本地镜像
docker images
删除镜像
docker rmi ubuntu:20.04
容器操作
基于镜像创建并运行容器(交互模式)
docker run -it ubuntu:20.04 /bin/bash
运行容器并后台执行
docker run -d --name my_nginx nginx
查看正在运行的容器
docker ps
查看所有容器(包括已停止)
docker ps -a
停止容器(my_nginx)
docker stop my_nginx
启动已停止容器
docker start my_nginx
删除容器
docker rm my_nginx
容器与宿主机文件交互
将宿主机文件复制到容器
docker cp ./test.txt my_nginx:/usr/share/nginx/html/
从容器复制文件到宿主机
docker cp my_nginx:/etc/nginx/nginx.conf ./nginx.conf
查看容器信息
1 | docker logs my_nginx |