docker入门

本文详细介绍了Docker的用途,解释了它如何解决环境配置问题,以及其核心概念——镜像和容器。通过在CentOS7上手动和自动安装Docker的步骤,展示了如何启动、检查和卸载Docker。此外,还列举了一系列Docker命令,包括管理镜像和容器的操作,并演示了如何部署Nginx。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

为什么使用docker

对于开发来说,代码在生命周期的不同阶段会部署于不同环境之中。服务开发中部署开发环境,服务测试中部署测试环境,服务上线需部署生产环境,这么多环境情况下,我们需要将每个环境的配置都配置检查以保证服务能够正常运行。环境配置会耗费巨大的人力时间,为了解决环境配置的问题。docker给出如下解决方案:
Java代码–Jar(环境)–打包项目及环境(镜像)–镜像存储(仓库)–下载镜像–运行镜像(容器)

什么是docker

docker是Go语言编写的开源的应用容器引擎(容器化技术)。

docker概念

  1. 镜像Image:创建docker容器的模板,静态的定义。类似于将小型操作系统及其环境打包成一个安装包。
  2. 仓库Repository:用于存储镜像的地方。 公有仓库和私有仓库。
  3. 容器Container:镜像运行的实体。每个实体之间相互隔离。类似于将小型操作系统安装运行。

安装docker

基于centos7安装,安装方式有使用官方脚本自动安装和手动安装。

官方脚本自动安装

curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun

手动安装

官方文档

  1. 卸载旧版本
yum remove docker \
                  docker-client \
                  docker-client-latest \
                  docker-common \
                  docker-latest \
                  docker-latest-logrotate \
                  docker-logrotate \
                  docker-engine
  1. 下载安装包
yum install -y yum-utils
  1. 设置镜像仓库
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 #阿里云仓库
  1. 安装docker源Docker Engine-Community
yum install docker-ce docker-ce-cli containerd.io #ce社区版 ee企业版
  1. 启动docker
systemctl start docker
  1. 检查docker是否安装成功
docker version

docker运行hello-word

docker run hello-word #运行hello-word容器

docker images #查看镜像

卸载docker

yum remove docker-ce docker-ce-cli containerd.io #卸载依赖

rm -rf /var/lib/docker #删除资源

docker的常用命令

帮助命令

官方帮助文档

docker version #显示docker的版本信息
docker info #显示docker的详细信息
docker 命令 --help #帮助命令

镜像命令

docker hub搜索镜像

dokcer images #查看所有镜像
docker images [可选参数]
#可选参数说明: 
#-a 为查看所有镜像 
#-q 为镜像id

docker search #镜像搜索
docker search mysql #搜索mysql镜像

docker pull #拉取镜像
docker pull mysql #拉取mysql镜像,默认最新版
docker pull mysql:5.7 #拉取mysql5.7镜像
#上述拉取mysql两个版本的镜像发现第二次拉取时部分文件已存在,这是docker使用了文件联合系统 

docker rmi -f 镜像id/镜像name #删除镜像
docker rmi -f $(docker images -aq) #删除全部镜像

容器命令

以centos测试学习

docker pull centos

docker ps [可选参数]#默认列出所有运行的容器
#-a 列出所有容器
#-n=? 列出最近创建的n条容器
#-q 只显示容器id

docker run [可选参数] #运行容器
#可选参数说明:
#--name="name" 容器名
#-d 后台运行
#-it 使用交互方式运行,进入容器查看内容
#-p 指定容器端口 -p 8080:8080 主机端口:容器端口  -p ip:8080:8080 ip:主机端口:容器端口
#-P 随机指定端口
docker run -it centos /bin/bash #启动并进入容器
docker run -d centos #后台启动容器 docker ps发现centos停止 原因:docker容器使用后台运行,必须要有个前端进行,docker未发现前台进程就会自动停止 
docker run -itd centos

exit #容器停止并退出
Ctrl+P+Q #容器不停止退出

docker rm  容器id #删除指定容器
docker rm $(dokcer ps -aq) #删除所有未运行容器
docker rm -f $(dokcer ps -aq) #删除所有容器
docker ps -aq|xargs docker rm #删除所有容器

docker start 容器id #启动停止的容器
docker restart 容器id #重启容器
docker stop 容器id #停止容器
docker kill 容器id #强制停止容器

docker logs [可选参数] 容器id#查看日志
#可选参数说明:
#-f 循环输出
#-t 时间戳
#--tail n 输出最后n行
docker run -d --name test  centos /bin/bash -c "while true;do echo testLogs; sleep 1; done;" #运行容器,循环打印

docker top 容器id/容器name #查看容器中的进程信息

docker inspect 容器id/容器name #查看容器id

docker exec -it 容器id /bin/bash #新开窗口进入容器
docker attach 容器id #进入容器正在运行的命令窗口

docker cp 容器id:/文件全路径 ./  #将容器内部的文件拷贝到当前文件夹下

部署nginx

1.搜索镜像

docker search nginx

2.拉取镜像

docker pull nginx

3.运行测试

docker run  -d --name testnginx -p 12345:80 nginx
curl localhost:12345
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值