Docker-安装|常用指令操作

前文已经介绍了Docker容器化历史以及架构,本文就开始着手安装Docker以及使用指令做常见操作,非常简单和快捷

Docker安装

ubuntu安装方式

docker官方安装Docker指南介绍了除了支持windows和mac系统,还支持的系统信息。
在这里插入图片描述
所以安装Docker时先了解自己的系统,不同的系统有不同的安装方式,由于我使用的是ubuntu系统,所以我参考的ubuntu的安装文档

1.查看系统是否满足要求

要安装 Docker 引擎,咱们系统需要满足以下 Ubuntu 版本之一的 64 位版本:
Ubuntu Noble 24.04 (LTS)
Ubuntu Mantic 23.10 (EOL: July 12, 2024)
Ubuntu Jammy 22.04 (LTS)
Ubuntu Focal 20.04 (LTS)
登录ubuntu系统,查看ubuntu的版本号和内核版本号:

-- ubuntu的版本号
ubuntu@ip-172-31-18-208:~$ lsb_release -a

No LSB modules are available.
Distributor ID:	Ubuntu
Description:	Ubuntu 22.04.3 LTS
Release:	22.04
Codename:	jammy

-- 内核版本号
ubuntu@ip-172-31-18-208:~$ uname -a

SMP Fri Nov 17 21:07:13 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux

2.卸载旧版本

在安装 Docker Engine 之前,需要卸载所有冲突的软件包。apt 中也许存在 了Docker 软件包的非官方发行版。必须先卸载这些软件包,然后才能安装正式版的 Docker Engine
一共7个:docker.io,docker-doc,docker-compose,docker-compose-v2,podman-docker,containerd,runc

 for pkg in docker.io docker-doc docker-compose docker-compose-v2 podman-docker containerd runc; do sudo apt-get remove $pkg; done

3.apt 存储库设置Docker引擎

-- 添加Docker官方GPG密钥:
sudo apt-get update
sudo apt-get install ca-certificates curl
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc

--将存储库添加到 Apt 源:
echo \
  "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \
  $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
  sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update

4.安装 Docker 软件包最新版

 sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

5.验证 Docker 引擎安装是否成功

通过运行hello-world 映像来验证 Docker 引擎安装是否成功

 sudo docker run hello-world

在这里插入图片描述

其它常见系统安装方式

Docker常用指令

镜像命令

docker images-查看镜像

作用:查看本地所有镜像
使用:sudo docker images在这里插入图片描述

repository:表示镜像的厂库源
tag:镜像版本号
image id:镜像ID
created:镜像创建时间
size:镜像大小

同一个仓库源可以有多个tag版本(如mysql 有5.7;8.0版本)。一般我们使用repository:tag 来定义不同镜像,如果不指定tag版本,默认最新版本。(例如使用ubuntu,docker默认使用ubuntu:latest镜像)

docker search -搜索镜像

作用:查看远程仓库镜像

使用:sudo docker search [镜像名称]

 --limit [数量]:列出前几个

sudo docker search hello-word --limit 1
在这里插入图片描述

name:镜像名称
description:镜像说明
stars:点赞数
official:是否官方发布的
automated:是否自动构建

docker pull-拉取镜像

作用:从远程仓库下载镜像到本地
使用:docker pull [镜像名称]:[tag版本号]
没有tag默认拉取最新的

sudo docker pull mysql

在这里插入图片描述

docker system df-查看镜像、容器占用空间

作用:查看镜像/容器/数据卷所占用空间
使用:docker system df

sudo docker system df

在这里插入图片描述

docker rmi -删除镜像

作用:删除镜像
使用:
删除单个:docker rmi -f [镜像ID]
删除多个:docker rmi -f [镜像ID1] [镜像ID2]
删除全部:docker rmi -f $(docker images -qa)慎用

sudo docker rmi -f d2c94e258dcb

在这里插入图片描述

容器命令

docker run-启动容器

作用:新建、启动容器
语法:docker run [options] image [command][arg...]

options 常用说明:
--name=:给容器指定一个名称,不使用则会随机分配一个名称
-d:后台运行容器并返回一个容器ID (后台守护式容器,部分容器会在启动后自杀,也就是启动未成功,如:ubuntu)
-i:以交互模式运行容器,通常和-t同时使用(前台交互式容器)
-t:为容器重新分配一伪输入终端,通常和-i同时使用(前台交互式容器)
-P:随机端口映射,大写P
-p:指定端口映射,小写p
-v:指定容器卷

启动交互式容器:
这里举例用mysql镜像,在它的官方文档中也说明如何启动

sudo docker run --name some-mysql -e MYSQL_ROOT_PASSWORD=root -d mysql

在这里插入图片描述

docker ps -查看正在运行的容器

作用:列出当前所有正在运行的容器
语法:docker ps [options]
options常用说明:
-a:列出当前所有正在运行的容器 + 历史上运行过得容器
-l:显示最近创建的容器
-n:显示最近n个创建的容器
-q:静默模式,只显示容器编号

sudo docker ps -n 2
sudo docker ps -l
sudo docker ps -lq
sudo docker ps -a

在这里插入图片描述

exit -退出容器

两种方式:
exit:run进去容器,exit退出,容器停止
ctrl+p+q:run进去容器,ctrl+p+q退出,容器不停止

dockr exec 进入容器

进入正在运行的容器并以命令行进行交互:
命令1:docker exec -it [容器ID] bash
命令2:docker attach [容器ID]
(推荐使用docker exec命令,因为docker attach命令使用exit退出,会导致容器停止,而docker exec命令不会)

sudo docker exec -it 577d57ee7276  bash

在这里插入图片描述

docker stop -停止正在运行的容器

docker stop [容器ID]:停止正在运行的容器

sudo docker stop 577d57ee7276

在这里插入图片描述

docker start/restart -启动容器

docker start [容器ID]:启动已经停止运行的容器

sudo docker start 577d57ee7276

在这里插入图片描述

docker restart [容器ID]:重启容器

sudo docker restart 577d57ee7276

在这里插入图片描述

docker kill -强制停止正在运行容器

docker kill [容器ID]:强制停止正在运行的容器

sudo docker kill 577d57ee7276

在这里插入图片描述

docker rm -删除容器

docker rm [容器ID]:删除已经停止的容器
docker rm -f [容器ID]:强制删除容器[不区分是否停止]
docker rm -f $(docker ps -aq):一次性删除多个容器(谨慎使用)

sudo docker rm 577d57ee7276
sudo docker rm -f 577d57ee7276

在这里插入图片描述### docker cp -文件拷贝
文件拷贝到容器内可以使用cp命令
docker cp 需要拷贝文件或目录 容器名称:容器目录

 sudo docker cp test.txt mysql-01:test

在这里插入图片描述在这里插入图片描述
文件从容器内拷贝出来
docker cp 容器名称:容器目录 需要拷贝的文件或目录

sudo docker cp mysql-01:test test-01.txt

在这里插入图片描述

其它指令

详见:docker官方cli指令介绍

Docker是一种容器化技术,可以在不同的操作系统上运行应用程序。Docker Compose是一个用于定义和运行多容器Docker应用程序的工具。 以下是一些常用DockerDocker Compose命令: ### Docker - `docker run`: 运行一个Docker容器。 - `docker ps`: 列出正在运行的Docker容器。 - `docker images`: 列出所有本地镜像。 - `docker build`: 使用Dockerfile构建一个Docker镜像。 - `docker push`: 将本地镜像上传到Docker Hub或其他Docker镜像仓库。 - `docker pull`: 从Docker Hub或其他Docker镜像仓库中下载一个镜像。 - `docker rm`: 删除一个或多个Docker容器。 - `docker rmi`: 删除一个或多个本地Docker镜像。 ### Docker Compose - `docker-compose up`: 构建并启动一个Docker Compose应用。 - `docker-compose down`: 停止并删除一个Docker Compose应用。 - `docker-compose ps`: 列出正在运行的Docker Compose服务。 - `docker-compose logs`: 查看一个Docker Compose服务的日志。 - `docker-compose exec`: 在一个Docker Compose服务中执行一个命令。 - `docker-compose build`: 构建一个Docker Compose服务的镜像。 - `docker-compose pull`: 下载一个Docker Compose服务的镜像。 ### Docker Compose配置文件 Docker Compose使用YAML格式的配置文件来定义多容器Docker应用程序。以下是一个示例配置文件: ``` version: '3' services: web: build: . ports: - "5000:5000" redis: image: "redis:alpine" ``` - `version`: 定义配置文件使用的Docker Compose版本。 - `services`: 包含一个或多个Docker容器服务的列表。 - `build`: 构建一个Docker镜像。 - `image`: 使用现有的Docker镜像。 - `ports`: 映射容器端口到主机端口。在此示例中,容器的5000端口将映射到主机的5000端口。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值