0


docker是干什么的,docker常用命令每日一练

一、百度百科

Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖到一个可移植的镜像中,然后发布到任何流行的Linux或Windows机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。

一个完成的docker有以下几个部分组成:

  1. DockerClient 客户端
  2. Docker Daemon 守护进程
  3. Docker Image 镜像
  4. Docker Container 容器

二、Docker安装

1、卸载Docker

 sudo yum remove docker \
                  docker-client \
                  docker-client-latest \
                  docker-common \
                  docker-latest \
                  docker-latest-logrotate \
                  docker-logrotate \
                  docker-engine

2、需要的安装包

yum install -y yum-utils

3、设置镜像仓库

yum-config-manager \
    --add-repo \
    https://download.docker.com/linux/centos/docker-ce.repo

用国内的

yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo 

更新软件包索引

yum mackecache fast

4、安装Docker相关

ce社区版,ee企业版,推荐安装企业版

yum install docker-ce docker-ce-cli containerd.io

5、启动Docker

systemctl start docker

6、使用docker version查看版本

7、启动hello world镜像

docker run hello-world

8、卸载

yum remove docker-ce docker-ce-cli containerd.io
rm -rf /var/lib/docker
rm -rf /var/lib/containerd

三、run的流程和docker原理

1、run的流程

2、docker原理

3、docker为何比VM快?

  1. Docker有着比虚拟机更少的抽象层
  2. docker利用的是宿主机的内核,VM需要的是Guest OS。

四、Docker镜像常用命令

1、基本命令

docker version

docker info

docker 命令 --help #万能命令

docker images

解释:

  1. REPOSITORY:镜像的仓库源
  2. TAG:镜像的标签
  3. IMAGE ID:镜像的ID
  4. CREATE:镜像的创建时间
  5. SIZE:镜像的大小

可选项

-a:列出全部的镜像

-q:只显示镜像的ID

2、搜索镜像

docker search

可选项

--filter-STATUS-3000 #搜索大于3000的

3、下载镜像

指定版本下载

docker pull 镜像名[:tag]

4、删除镜像

docker rmi -f 镜像id

五、docker容器常用命令

1、下载容器

docker pull centos

2、docker run [可选参数] image

参数说明:

  1. --name 容器名称
  2. -d 后台方式运行
  3. -it 使用交互方式运行,进入容器查看内容(例如:docker run -it centos /bin/bash)
  4. -p 指定容器的端口号 -p 8080:8080(主机端口:容器端口)

3、列出所有的运行的容器

docker ps [参数]

  1. -a 列出当前正在运行的容器
  2. -n 显示最近创建的容器
  3. -q 只显示容器的编号

例如:docker ps -aq 显示当前正在运行的容器的编号

4、退出容器

exit

5、删除容器

  1. docker rm 容器id 不能删除正在运行的容器
  2. docker rm -f $(docker ps -a) 删除所有的容器
  3. docker ps -a -q|xargs docker rm 删除所有的容器

6、启动和停止容器

  1. docker start 容器id
  2. docker restart 容器id
  3. docker stop 容器id
  4. docker kill 容器id 强制停止

7、进入当前正在运行的容器

方式一:docker exec -it 容器id /bin/bash 进入容器后开启一个新的终端(常用)

方式二:docker attach 容器id 进入容器当前正在执行的终端

8、从容器内拷贝文件到主机

docker cp 容器id:容器内路径 主机路径

例如:docker cp 容器id:/home/test.java /home

9、其它常用命令

(1)后台启动容器 -d

(2)查看日志命令

docker logs --help

显示指定行数的日志:

docker logs -tf --tail 10 容器id

-f:内容,,,-t:时间

例如:循环执行

docker run -d centos /bin/sh -c "while;do echo hello world;sleep 1;done"

(3)显示容器中的进行信息

查看docker内部的进程信息:docker top 容器id

(4)查看容器的元数据

docker inspect --help

显示容器的所有信息:

docker inspect 容器id

六、docker常用命令小结

常用命令命令含义attach当前shell下attach连接指定运行镜像build通过Dockerfile定制镜像commit提交当前容器为新的镜像cp从容器中拷贝指定文件或者目录到宿主机中create创建一个新的容器,同run 但不启动容器diff查看docker容器变化events从docker服务获取容器实时事件exec在已存在的容器上运行命令export导出容器的内容流作为一个tar归档文件(对应import)history展示一个镜像形成历史images列出系统当前镜像import从tar包中的内容创建一个新的文件系统映像(对应export)info显示系统相关信息inspect查看容器详细信息kill强制停止指定docker容器load从一个tar包中加载一个镜像(对应save)login注册或者登陆一个docker源服务器logout从当前Docker registry退出logs输出当前容器日志信息pause暂停容器port查看映射端口对应的容器内部源端口ps列出容器列表pull从docker镜像源服务器拉取指定镜像或者库镜像push推送指定镜像或者库镜像至docker源服务器rename重命名容器restart重启运行的容器rm移除一个或者多个容器rmi移除一个或多个镜像(无容器使用该镜像才可以删除,否则需要删除相关容器才可以继续或者-f强制删除)run创建一个新的容器并运行一个命令save保存一个镜像为一个tar包(对应load)search在docker hub中搜索镜像start启动容器stats统计容器使用资源stop停止容器tag给源中镜像打标签top查看容器中运行的进程信息unpause取消暂停容器version查看容器版本号wait截取容器停止时的退出状态值

标签: java

本文转载自: https://blog.csdn.net/guorui_java/article/details/115874500
版权归原作者 哪 吒 所有, 如有侵权,请联系我们删除。

“docker是干什么的,docker常用命令每日一练”的评论:

还没有评论