当前位置:主页 > 查看内容

【Docker 1】入门

发布时间:2021-09-26 00:00| 位朋友查看

简介:一、百度百科 Docker是一个开源的应用容器引擎让开发者可以打包他们的应用以及依赖到一个可移植的镜像中然后发布到任何流行的Linux或Windows机器上也可以实现虚拟化。容器是完全使用沙箱机制相互之间不会有任何接口。 一个完成的docker有以下几个部分组成 Do……

一、百度百科

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知识体系总结(2021版)

Java多线程基础知识总结

【全栈最全Java框架总结】SSH、SSM、Springboot

超详细的springBoot学习笔记

常见数据结构与算法整理总结

Java设计模式:23种设计模式全面解析

Java面试题总结(附答案)

?

?

?

?

?

?

?

;原文链接:https://blog.csdn.net/guorui_java/article/details/115874500
本站部分内容转载于网络,版权归原作者所有,转载之目的在于传播更多优秀技术内容,如有侵权请联系QQ/微信:153890879删除,谢谢!

推荐图文


随机推荐