jetson nano Docker学习笔记(二)

目录

前言

一、Docker和VMware的区别

二、Docker常用指令

 帮助命令

镜像命令

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

 docker search 搜索镜像

  docker pull 下载镜像

docker rmi 删除镜像

容器命令

docker run新建容器并启动

docker ps列出所有的运行的容器

退出容器

删除容器

启动和停止容器







前言

最近接触到了Docker,发现是一个很好的东西,话不多说直接上b站大学学习一波(doge)。

学习通道:狂神说Java】Docker最新超详细版教程通俗易懂





一、Docker和VMware的区别

Docker是一个Client-Server结构的系统,Docker的守护进程运行在主机上。通过Socket从客户端访问。 

DockerServer接收到Docker-Client的指令就会去执行这个命令。

jetson nano Docker学习笔记(二)

Docker为什么比VMware快?

1、Docker的抽象层比VMware更少:

jetson nano Docker学习笔记(二)

2、docker利用的是宿主机的内核,VMware需要的是guest OS。

因此每当新建一个容器,docker不会像虚拟机一样重新加载一个操作系统内核,避免引导。虚拟机是加载guest OS,打开较慢,而docker是利用宿主机的操作系统,省略了这个复杂的过程,打开就快了。 


二、Docker常用指令

 帮助命令

docker version        #显示docker的版本信息

docker info              #显示docker的系统信息,包括镜像和容器的数量

docker 命令 --help   #      

帮助文档的地址:https://docs.docker.com/reference/

镜像命令

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

 jetson nano Docker学习笔记(二)

# 解释

REPOSITORY  镜像的仓库源

TAG                   镜像的标签

IMAGE   ID        镜像的ID

CREATED          镜像的创建时间

SIZE                   镜像的大小

# 可选项

-a, --all                        #列出所有镜像

-q ,--quiet                   #只显示镜像的id

 docker search 搜索镜像

jetson nano Docker学习笔记(二)

 # 可选项,通过搜藏来过滤

--filter=STARS=3000                        # 搜索出来的镜像就是STARS大于3000的

jetson nano Docker学习笔记(二)

  docker pull 下载镜像

# 下载镜像 docker pull 镜像名[:tag]

root@raspberrypi:/home/corvin# docker pull mysql/mysql-server
Using default tag: latest                                #如果不写 tag,默认就是latest
latest: Pulling from mysql/mysql-server        
003b5815c7df: Pull complete                       # 分层下载,docker image的核心 联合文件系统
b3cc6a7258f9: Pull complete
6ec0b9780de7: Pull complete
3bd4cb0b78d1: Pull complete
a6004dbd9ba2: Pull complete
b33be9f4a1f3: Pull complete
38b3da6a86f7: Pull complete
Digest: sha256:5241f7de0483a70f5856da995fea98904cfce8f1c51734b7f3836c1663eead17 #签名
Status: Downloaded newer image for mysql/mysql-server:latest
docker.io/mysql/mysql-server:latest                # 真实地址

#等价于它

docker pull mysql/mysql-server

docker pull docker.io/mysql/mysql-server:latest 

# 指定版本下载

docker pull mysql:5.7

jetson nano Docker学习笔记(二)

docker rmi 删除镜像

root@raspberrypi:/home/corvin# docker rmi -f 容器id        # 删除指定的镜像

root@raspberrypi:/home/corvin# docker rmi -f 容器id 容器id 容器id        # 删除多个镜像

root@raspberrypi:/home/corvin# docker rmi -f $(docker images -aq)        # 删除全部镜像

容器命令

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

docker pull centos

docker run新建容器并启动

docker run [可选参数] image

# 参数说明

--name="Nmae"                容器名字        romcat01        tomcat2       ,来区分容器

-d                                        后台方式运行

-it                                        使用交互方式进行,进入容器查看内容

-p                                        指定容器的端口 -p 8080:8080

        -p 主机端口:容器端口(常用)

        -p ip:主机端口:容器端口

        -p 容器端口

-p                                        随机指定端口

# 测试 :启动并测试容器

root@raspberrypi:/home/corvin# docker run -it centos /bin/bash
[root@ec7a0e910354 /]#ls            #查看容器内的centos,基础版本,很多命令都是不完善的
bin  etc   lib    lost+found  mnt  proc  run   srv  tmp  var
dev  home  lib64  media       opt  root  sbin  sys  usr

[root@ec7a0e910354 /]# exit                #退出容器
exit
root@raspberrypi:/home/corvin# ls
Arduino  Desktop  Downloads  handsfree  libusb  Music  python_demo

docker ps列出所有的运行的容器

# docker ps 命令

-a         #列出当前正在运行的容器+带出历史运行过的容器

-n=?        #显示最近创建的容器

-q        # 只显示容器的编号

root@raspberrypi:/home/corvin# docker ps
CONTAINER ID   IMAGE     COMMAND   CREATED   STATUS    PORTS     NAMES
root@raspberrypi:/home/corvin#
root@raspberrypi:/home/corvin# docker ps -a
CONTAINER ID   IMAGE         COMMAND       CREATED             STATUS                         PORTS     NAMES
ec7a0e910354   centos        "/bin/bash"   3 minutes ago       Exited (130) 47 seconds ago              priceless_cerf
149e5cf47b59   hello-world   "/hello"      About an hour ago   Exited (0) About an hour ago             suspicious_banach

退出容器

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        # 强制停止当前正在运行的容器


 

上一篇:jetson配置vnc远程桌面


下一篇:蓝桥杯 1111: Cylinder