镜像下载、域名解析、时间同步请点击 阿里云开源镜像站
一、百度百科
Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖到一个可移植的镜像中,然后发布到任何流行的Linux或Windows机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。
一个完成的docker有以下几个部分组成:
- DockerClient 客户端
- Docker Daemon 守护进程
- Docker Image 镜像
- 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快?
- Docker有着比虚拟机更少的抽象层
- docker利用的是宿主机的内核,VM需要的是Guest OS。
四、Docker镜像常用命令
1、基本命令
docker version
docker info
docker 命令 —help #万能命令
docker images
解释:
- REPOSITORY:镜像的仓库源
- TAG:镜像的标签
- IMAGE ID:镜像的ID
- CREATE:镜像的创建时间
- 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
参数说明:
- —name 容器名称
- -d 后台方式运行
- -it 使用交互方式运行,进入容器查看内容(例如:docker run -it centos /bin/bash)
- -p 指定容器的端口号 -p 8080:8080(主机端口:容器端口)
3、列出所有的运行的容器
docker ps [参数]
- -a 列出当前正在运行的容器
- -n 显示最近创建的容器
- -q 只显示容器的编号
例如:docker ps -aq 显示当前正在运行的容器的编号
4、退出容器
exit
5、删除容器
- docker rm 容器id 不能删除正在运行的容器
- docker rm -f $(docker ps -a) 删除所有的容器
- docker ps -a -q|xargs docker rm 删除所有的容器
6、启动和停止容器
- docker start 容器id
- docker restart 容器id
- docker stop 容器id
- 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
本文转自:https://blog.csdn.net/guorui_java/article/details/115874500