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

目录

一、百度百科

二、Docker安装

1、卸载Docker

2、需要的安装包

3、设置镜像仓库

4、安装Docker相关 

5、启动Docker

6、使用docker version查看版本

7、启动hello world镜像

8、卸载

三、run的流程和docker原理

1、run的流程

2、docker原理 

3、docker为何比VM快?

四、Docker镜像常用命令

1、基本命令

2、搜索镜像

3、下载镜像

4、删除镜像

五、docker容器常用命令

1、下载容器

2、docker run [可选参数] image

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

4、退出容器

5、删除容器

6、启动和停止容器

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

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

9、其它常用命令

六、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 截取容器停止时的退出状态值

关注公众号:哪吒编程

哪吒编程每周更新优质文章,关注后回复【CSDN】领取Java思维导图、Java学习资料、海量面试资料。

加我微信:18525351592

拉你进入技术交流群,群内有很多技术大佬,一起交流技术,一起进阶,一起进大厂,还可白嫖技术书籍~~

猜你喜欢

转载自blog.csdn.net/guorui_java/article/details/115874500