几个常用命令
1.查看镜像
docker image ls [OPTIONS] [REPOSITORY[:TAG]]
举例
docker image ls -a 查看所有镜像
docker image ls ubuntu 查看仓库名为ubuntu的镜像
2.查看镜像详细信息
docker image inspect [OPTIONS] IMAGE [IMAGE...]
3.删除镜像
docker rmi [OPTIONS] IMAGE [IMAGE...]
如
docker image rm -f image1 强制删除镜像
4.从Dockerfile中构建镜像
docker image build [OPTIONS] PATH | URL | -
如
docker image build -f ./Dockerfile
5.从registry中拉取镜像
docker image pull [OPTIONS] NAME[:TAG|@DIGEST]
6.向registry推送一个镜像
docker image push [OPTIONS] NAME[:TAG]
7.查看容器
docker ps [OPTIONS]
如
docker ps 查看所有在运行的容器
docker ps -a 查看所有容器,包括running stopped exit restart
8.容器和当前文件系统之间复制文件
docker cp [OPTIONS] CONTAINER:SRC_PATH DEST_PATH|-
docker cp [OPTIONS] SRC_PATH|- CONTAINER:DEST_PATH
9.查看容器日志,这个日志是打印在控制台的日志,不是服务内日志文件日志
docker logs [OPTIONS] CONTAINER
docker logs -f CONTAINER 会一直打印日志不退出
10.查看容器内部文件
docker exec [OPTIONS] CONTAINER COMMAND [ARG...] 在一个运行容器里运行命令
docker exec -it ota-manager-server less log/ota-server.log 查看容器内日志文件
11.拉取镜像
docker pull [OPTIONS] NAME[:TAG|@DIGEST]
12.删除容器
docker rm [OPTIONS] CONTAINER [CONTAINER...]
13.运行容器
docker run [OPTIONS] IMAGE [COMMAND] [ARG...]
docker run --name nlp-transfer-service \
--network aiot-net \
--restart always \
-v /data/aiot/nlp-transfer-service/config.ini:/root/config/config.ini \
-v /data/aiot/nlp-transfer-service/log:/root/log \
-p 4050:4050 \
-d hub.xfyun.cn/aiot/nlp-transfer-service:${VERSION}
14.重启容器
docker restart [OPTIONS] CONTAINER [CONTAINER...]
15.本地镜像文件存放在哪
/var/lib/docker/目录下,其中container目录存放容器信息,graph目录存放镜像信息,aufs目录下存放具体的镜像底层文件。
16.Dockerfile中的命令COPY和ADD命令有什么区别?
COPY与ADD的区别COPY的<src>只能是本地文件,其他用法一致
17.CI(持续集成)服务器的功能是什么?
CI功能就是在每次提交之后不断地集成所有提交到存储库的代码,并编译检查错误
18.Docker和传统虚拟化技术的对比
相比传统虚拟机技术,Docker资源占用少,启动更快,很大的方便了项目的部署和运维。 Docker是在操作系统层面上实现虚拟化,复用本地主机的操作系统,传统方式是在硬件的基础上,虚拟出多个操作系统,然后在系统上部署相关的应用。

| docker | VM | |
|---|---|---|
| 启动速度 | 快 | 慢 |
| 占用空间 | 小 | 大 |
| 隔离性 | 差 | 好 |
| 实现区别 | 直接在操作系统层面上实现虚拟化 | 虚拟新的操作系统,在上面部署应用 |
资源隔离方面不如虚拟机,docker是利用cgroup实现资源限制的,只能限制资源消耗的最大值,而不能隔绝其他程序占用自己的资源
19.docker底层原理
看了文章重要的是namespace 和 cgroup,linux的namespace能够实现容器对宿主机的网络,文件目录,进程的隔离,cgroup实现容器对宿主机CPU 内存等物理资源的隔离限制
看的文章