Docker基础知识大全

文章目录

  • 前言
  • 一、Docker为什么出现?
  • 二、Docker历史
  • 三、Docker能干嘛?
  • 四、Docker名词
  • 五、Docker安装(CentOS7)
  • 六、卸载docker命令
  • 七、Docker镜像容器命令
  • 总结

1、Docker为什么出现?

java jar包 打包项目带上环境(镜像) 放入docker仓库(应用商店),别人直接下载镜像运行即可,无需安装环境!

环境隔离:docker核心思想!打包装箱!

2、Docker历史

2013开源,每月更新一个版本

2014年,docker1.0发布

3、Docker能干嘛?

DevOps(开发并且运维)

1、快速交付和部署

2、更便捷的升级和扩缩容

3、更高效的计算资源利用

4、Docker名词

镜像(image):就好比模板,可以通过模板创建容器服务,通过镜像创建多个容器(class类创建许多对象)

容器(container):独立运行一个或一组应用。有启动、停止、删除

目前就可以把这个容器理解为一个简易的linux系统。

仓库(repository):来存放镜像的地方,相当于gitee仓库。

5、Docker安装(CentOS7)

安装docker之前,卸载之前的docker版本

1、卸载命令:

复制代码
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

4、更新yum软件包索引

复制代码
yum makecache fast

5、安装docker软件

docker-ce为社区免费版本。稍等片刻,docker即可安装成功。

复制代码
yum install docker-ce docker-ce-cli containerd.io

6、启动docker

复制代码
systemctl start docker

7、查看是否启动成功

复制代码
docker version
#有版本显示则是启动成功

6、卸载docker命令

(1)卸载依赖

复制代码
yum remove docker-ce docker-ce-cli containerd.io

(2)删除资源

复制代码
rm -rf /var/lib/docker

7、Docker镜像容器命令

1、阿里云容器镜像加速器(番外)

复制代码
sudo mkdir -p /etc/docker
​
sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["https://gnztys0b.mirror.aliyuncs.com"]
}
EOF
​
sudo systemctl daemon-reload
​
sudo systemctl restart docker

2、docker信息命令

(1)docker版本信息

复制代码
docker version

(2)docker详情

复制代码
docker info

(3)帮助命令

复制代码
docker -- help

3、镜像相关命令(重点)

(1)查看所有本地镜像

复制代码
docker images

(2)只显示镜像ID

复制代码
docker images -q

(3)搜索镜像

复制代码
docker search 名称   
例:搜索mysql收藏大于2000的镜像
docker search mysql --filter=STARS=2000

(4)下载镜像

复制代码
1、默认最新版本:docker pull 名称
2、指定版本下载:docker pull 名称:版本
3、例子:下载mysql镜像,默认最新
docker pull mysql
4、例子:下载mysql5.7版本镜像
docker pull mysql:5.7

(5)删除镜像

复制代码
删除单个镜像:docker rmi -f 镜像ID
删除全部镜像:docker rmi -f $(docker images -aq)

4、容器相关命令(重点)

(1)容器参数说明

复制代码
#参数说明
--name="Name" 容器名字 redis1  redis2 ...,用来区分容器
-d   后台方式运行
-it  交互运行,进入容器
-p   指定容器端口

(2)查看所有运行的容器

复制代码
docker ps

(3)查看所有运行的容器+历史运行过的容器

复制代码
docker ps -a
​
#指定显示的个数
docker ps -a -n=1

(4)运行并进入容器

复制代码
#例子redis
docker run -it redis /bin/bash

(5)退出容器

复制代码
exit     #直接退出容器并停止
​
Ctrl + P +  Q   #退出容器但不停止

(6)启动容器

复制代码
docker start 容器id    #启动容器
docker restart 容器id  #重启容器

(7)停止容器

复制代码
docker stop 容器id    #停止正在运行的容器
docekr kill 容器id    #强制停止容器

(8)删除容器

复制代码
删除单个容器:docker rm -f 容器ID
删除全部容器:docker rm -f $(docker ps -aq)

总结

正在学习中,以后会不断更新此内容,敬请期待!!!

如果这篇文章对你有帮助的话请点点赞和收藏。如果文章有问题的话也可以私信我或指出来!!!

感谢你的支持!!!

相关推荐
duansamve3 小时前
Python3+Flask+PostgreSQL18+Vue3项目生产环境用docker如何部署?
python·docker·flask
mengge.cloud5 小时前
prometheus+k8s+弹性伸缩,综合项目
云原生·容器·kubernetes·prometheus
Z21-X6 小时前
云原生运维学习笔记:ECShop全链路容器化部署与Docker底层资源隔离深度剖析
运维·笔记·学习·云原生
进击的荆棘8 小时前
Linux系统——线程同步与互斥之线程池和安全
linux·运维·服务器·安全·单例模式·线程
瑞雪兆丰年兮9 小时前
JavaWeb-day11-SpringBootWeb案例(文件上传)
java·运维·服务器·javaweb·oss
xbzb9 小时前
从零容器化部署 ECShop:Harbor 私有仓库 + 自定义 PHP 镜像 + LNMP 三容器
容器·php·harbor·镜像·仓库·ecshop
那明眸似水9 小时前
云原生项目三:Docker秒级启动NextCloud个人网盘存储办公系统
linux·运维·docker·云原生·容器
腾飞开源10 小时前
03_Kubernetes 核心概念拆解:从 Spec/Status 收敛到工作负载控制器的设计逻辑
云原生·容器·kubernetes
小南家的青蛙11 小时前
微服务体系下DevOps运维岗位面试方案设计
运维·面试·职场和发展·devops
知已难寻21 小时前
Docker 入门:容器技术与 Docker 基础
java·运维·服务器·docker·云原生·容器