Docker入门——笔记(二)

说在前面:本文依旧是B站“狂神说Java”Docker课程的笔记整理

课程链接:【狂神说Java】Docker最新超详细版教程通俗易懂_哔哩哔哩_bilibili

一、 Docker的底层原理

1. Docker是怎么工作的?

Docker是一个Client-Server结构的系统,Docker的守护进程运行在主机上,通过Socket从客户端访问。当Docker接收到Docker-Client的指令,就会执行这个命令!

2. Docker为什么比虚拟机快?

(1) 与虚拟机相比,Docker有着比虚拟机更少的抽象层;

(2) Docker利用的是宿主机的内核,虚拟机需要的是Guest OS.

所以说,新建一个容器的时候,Docker不需要像虚拟机一样重新加载一个操作系统的内核,避免引导。虚拟机加载Guest OS,分钟级别;而Docker是利用宿主机的操作系统,省略了这个复杂的过程,秒级!

二、 Docker的常用命令

1. 帮助命令

docker version         # 显示docker的版本信息
docker info            # 显示docker的系统信息,包括镜像和容器的数量
docker --help          # 帮助命令

 docker帮助文档的地址:Redirecting…

2. 镜像命令

docker images         # 查看本地主机上的所有镜像

# 不用创建和拉取就有的镜像
REPOSITORY            # 镜像的仓库源
TAG                   # 镜像的标签
IMAGE ID              # 镜像的ID
CREATED               # 镜像的创建时间
SIZE                  # 镜像的大小

# 可选项
-a, --all             # 列出所有镜像
-q, --quiet           # 只显示镜像的id
docker images -aq     # 显示所有的镜像id
docker search                                  # 搜索命令
docker search mysql                            # 在DockerHub中搜索mysql

# 可选项,通过搜索来过滤
docker search mysql --filter=STARS=3000        # 筛选STARS大于3000的镜像
docker pull 下载镜像
下载镜像命令格式:
docker pull 镜像名                # 默认下载最新版本
docker pull 镜像名[:tag]          # 下载指定版本的镜像
# 下载mysql
docker pull mysql
docker pull mysql:5.7
docker rmi                            # 删除镜像
docker rmi -f 容器id                  # 删除指定容器
docker rmi -f 容器id 容器id 容器id     # 删除多个容器
docker rmi -f $(docker images -aq)    # 删除全部容器

3. 容器命令

说明:有了一个镜像才可以创建容器,下载一个ubuntu镜像来测试学习

docker pull ubuntu

新建容器并启动

docker run [可选参数] image

# 参数说明
--name="Name"            容器名字 tomcat01,tomcat02,用来区分容器
-d                       后台方式运行
-it                      使用交互方式运行,进入容器查看内容
-p                       指定容器的端口 -p 8080:8080
    -p ip:主机端口:容器端口
    -p 主机端口:容器端口
    -p 容器端口
    容器端口
-P                       随机指定端口
 
# 测试,启动并进入容器
docker run -it ubuntu /bin/bash    
ls                       # 查看容器内的ubuntu

# 从容器中退回主机
exit                     # 退出容器
列出所有运行的容器——docker ps 命令

docker ps                # 列出当前正在运行的容器
docker ps -a             # 列出当前正在运行的容器+显示历史运行过的程序
docker ps -n=?          # 显示最近创建的n个容器
docker ps -p             # 只显示容器的编号
退出容器

exit                # 容器停止并退出
ctrl+P+Q            # 容器停止不退出
删除容器

docker rm 容器id                    # 删除指定的容器,不能删除正在运行的容器,强制删除 rm -f
docker rm -f $(docker ps -aq)       # 删除所有容器
docker ps -a -q|xargs docker rm     # 删除所有容器

启动和停止容器的操作

docker start 容器id            # 启动容器
docker restart 容器id          # 重启容器
docker stop 容器id             # 停止当前正在运行的容器
docker kill 容器id             # 强制停止当前容器

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值