Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖到一个可移植的镜像中,然后发布到任何流行的Linux或Windows机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。
一个完成的docker有以下几个部分组成:
sudo yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine
yum install -y yum-utils
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
ce社区版,ee企业版,推荐安装企业版
yum install docker-ce docker-ce-cli containerd.io
systemctl start docker
docker run hello-world
yum remove docker-ce docker-ce-cli containerd.io
rm -rf /var/lib/docker
rm -rf /var/lib/containerd
docker version
docker info
docker 命令 --help #万能命令
docker images
解释:
- REPOSITORY:镜像的仓库源
- TAG:镜像的标签
- IMAGE ID:镜像的ID
- CREATE:镜像的创建时间
- ?SIZE:镜像的大小
可选项
-a:列出全部的镜像
-q:只显示镜像的ID
docker search
可选项
--filter-STATUS-3000 #搜索大于3000的
指定版本下载
docker pull 镜像名[:tag]
docker rmi -f 镜像id?
docker pull centos
参数说明:
- --name? ? 容器名称
- -d? ? ? ? ? ? ?后台方式运行
- -it? ? ? ? ? ? ?使用交互方式运行,进入容器查看内容(例如:docker run -it centos /bin/bash)
- -p? ? ? ? ? ? ?指定容器的端口号 -p 8080:8080(主机端口:容器端口)
docker ps [参数]
- -a? ? ? ? ? ? ? ?列出当前正在运行的容器
- -n? ? ? ? ? ? ? ?显示最近创建的容器
- -q? ? ? ? ? ? ? ?只显示容器的编号
例如:docker ps -aq? ? ? 显示当前正在运行的容器的编号
exit
- docker rm 容器id? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 不能删除正在运行的容器
- docker rm -f $(docker ps -a)? ? ? ? ? ? ?删除所有的容器
- docker ps -a -q|xargs docker rm? ? ? ?删除所有的容器
- docker start 容器id
- docker restart 容器id
- docker stop 容器id
- docker kill 容器id? ? ? ? ?强制停止
方式一:docker exec -it 容器id /bin/bash? ? ?进入容器后开启一个新的终端(常用)
方式二:docker attach 容器id? ? ? ? ? ? ? ? ? ? ? ?进入容器当前正在执行的终端
docker cp 容器id:容器内路径 主机路径
例如:docker cp 容器id:/home/test.java /home
(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
常用命令 | 命令含义 |
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框架总结】SSH、SSM、Springboot
?
?
?
?
?
?
?
前言 2017年就这么悄无声息的开始了,2017年对我来说又是特别重要的一年。 元旦...
作者 |?Emily Williamson 译者 |?孙薇责编 | 屠敏 出品 | CSDNIDCSDNnews 以下为...
response.getWriter().write() 功能:向前台页面显示一段信息。 当在普通的url方...
%@ page import="org.springframework.web.context.support.WebApplicationConte...
php全集行模式,即 php-cli ,官方文档中称为: CLI SAPI(Server Application Pr...
因为要接手维护一些项目,团队的技术栈最近从 vue 转向 react ,作为一个 react ...
原理 采集程序实际上是通过了XML中的XMLHTTP组件调用其它网站上的网页。比如新闻...
闲扯两句 最近想给自己的博客上加上一个3D标签云的效果,用来表示自己博客文章的...
这里说的正则表达式优化,主要是针对目前常用的NFA模式正则表达式,详细可以参考...
.Net Core中有各种Filter,分别是AuthorizationFilter、ResourceFilter、Exceptio...