使用Docker后,摸鱼时间又长了
作者 | 哪吒
来源 |哪吒编程(ID:gh_61b183bcf690)
一、Docker简介
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
六、docker常用命令小结
常用命令 |
命令含义 |
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 |
截取容器停止时的退出状态值 |
-
v35.03 鸿蒙内核源码分析( 时间 管理) | 谁是内核基本 时间 单位鸿蒙内核源码分析 • 1.0w浏览 • 2回复
-
鸿蒙开源第三方组件——日期和 时间 处理组件JodaTime-ohos朱伟ISRC • 1.5w浏览 • 4回复
-
#伪周五 摸鱼 讨论# 大家平时看直播,最期待的产品功能是什么?Luxiaoyuyuyu • 7174浏览 • 12回复
-
使用 Drone Pipeline 构建 Docker 镜像dlgdwuxy • 6977浏览 • 0回复
-
基于ansible在远程centos服务器 docker 环境安装 docker -mysqlcuiyingfeng • 6302浏览 • 0回复
-
使用 Tekton Sidecar 实现 Docker IN Docker 构建zaqi • 4277浏览 • 0回复
-
#云原生征文# window安装 Docker 教程奈尘工坊 • 5402浏览 • 4回复
-
#云原生征文# 如何 使用 Docker 在鲲鹏服务器上搭建gitlab拓维信息_hyh • 6545浏览 • 3回复
-
#云原生征文# Docker 使用 Linux内核的技术分析民之码农 • 5418浏览 • 2回复
-
#云原生征文# docker 数据卷与DockerFile学习Aasee • 6801浏览 • 3回复
-
#云原生征文# 云原生之 Docker 部署flask实践yukoyu • 1.0w浏览 • 9回复
-
#云原生征文# Docker 网络与 Docker Compose一只脆脆鲨 • 2785浏览 • 0回复
-
#云原生征文# Docker -Compose 搭建云桌面实践Buty9147 • 7531浏览 • 2回复
-
#云原生征文# Docker 安装Jenkins打包Maven项目为 Docker 镜像并运行掉发的小王 • 5334浏览 • 0回复
-
#夏日挑战赛# Docker 容器实战:容器安全性分析西岸Alex • 4802浏览 • 4回复
-
如何 使用 Docker 部署 GitLabfldj • 1768浏览 • 0回复
-
#打卡不停更# Docker 基本 使用 方式ATRI_ • 2811浏览 • 0回复
-
刚刚,别人家的年终奖 又 刷屏了!开源news • 3408浏览 • 4回复
-
OpenHarmony运行 docker 详细步骤离北况归 • 2767浏览 • 10回复
- 2023年再不会RabbitMQ,就要被淘汰了,手把手带你飞 2023-06-19 17:45:26发布
- 一次线上事故,导致公司损失400万 2023-06-19 17:44:45发布