【软件测试】docker容器入门

本文详细介绍了Docker的基础知识,包括其优势、架构、镜像、容器、仓库、数据卷和网络。通过实例演示了Docker的安装、启动、镜像下载、容器创建与管理,以及如何配置镜像仓库加速下载。同时,讨论了数据卷和网络在容器间数据共享和通信中的作用。此外,还提到了非root用户如何便捷地使用Docker。
摘要由CSDN通过智能技术生成

了解docker

docker 一种操作系统层面的虚拟化技术。
注:/var/lib/docker docker目录
优点

  • 占用磁盘空间小,启动速度快
  • 各容器之间相互隔离
  • 快速部署项目
  • 迁移方便

缺点
docker出来的容器(小虚拟机)不是完整操作系统,是基于完整操作系统产生的。

docker架构

docker 镜像

镜像: 一种比较特殊的文件系统,相当于容器模板,作用:按照模板产生容器、对外提供拷贝

# 查找镜像
 docker search 要查找的镜像名
# 下载(拉取)镜像
 docker pull 镜像名:版本(版本若省略,则最新版latest)
# 查看系统已有镜像
 docker images
# 删除镜像
 docker rmi 镜像id

定制镜像:

  1. vi Dockerfile在文件内添加指令内容。Dockerfile是用来构建镜像的文件。
  2. docker build -t 镜像名:镜像标签 .
    注:最后的 . 代表本次执行的上下文路径

docker 容器

容器: 一种进程,运行在独立环境中,从镜像中产生,容器之间互相独立
格式:docker run -d -p 端口映射 -v 路径映射 镜像名
注:Apache 端口 80,项目路径 /app

# 创建容器 --privileged=true 去掉selinux影响
 docker run -d -p 8081:80 -v /home/web/demo1:/app --privileged=true webdevops/php-apache-dev
# 查看容器(容器id可用前4位)
 docker ps -a
# 进入容器(需运行的容器)
 docker exec -it 容器id bash
# 退出容器
 ctrl P+Q、ctrl d、exit
# 停止 
 docker stop 容器id
# 开启
 docker start 容器id
# 删除
 docker rm 容器id

docker 仓库

仓库: 存放镜像文件的地方。daocloud网站-docker镜像仓库
配置下载源,加速下载,daemon.json 中添加以下内容:

{
	"registry-mirrors": ["https://wixr7yss.mirror.aliyuncs.com"]
}
# 修改daemon.json文件,添加以上内容
 vi /etc/docker/daemon.json
# 添加内容后,重加载、重服务
 systemctl daemon-reload
 systemctl restart docker

docker 数据卷

数据卷: 一种目录结构经常被容器做路径上的映射
优点

  • 对数据卷更新会立即更新
  • 对数据卷更新不会影响镜像
  • 数据卷的生命周期独立于容器
# 创建数据卷
 docker volume create 数据卷名
# 查看数据卷对应目录
 docker volume inspect 数据卷名
# 查看系统数据卷
 docker volume ls
# 删除数据卷
 docker colume rm 数据卷名

docker 网络

让多个容器之间互相通信,只要将容器放到docker网络中即可

# 创建网络
 docker network create 网络名
# 查看网络对应的容器
 docker network inspect 网络名
# 查看系统中docker网络
 docker network ls
# 删除网络
 docker network rm 网络名

docker 使用

安装

# 查看Linux内核版本(需3.10以上)
 uname -r
# 升级yum
 yum -y update
# 安装docker
 yum install -y docker
# 重启
 reboot

启动

# 关闭防火墙
 systemctl stop firewalld
 setenforce 0
# 切换docker用户
su user1
# 启动docker
 systemctl start docker
# 验证是否启动
 docker version

docker启动验证

管理用户

非root用户每次使用docker命令都需要加上sudo,加入docker组,可不用sudo,方便使用。

# 准备用户
 useradd user1
 passwd user1
# 准备docker小组(名称必须是docker)
 groupadd docker
# 将user1加到docker组中
 usermod -G docker user1
# 切换用户
 su user1

下载镜像

 docker pull 镜像名:版本号

产生容器

# apache容器 --network指定了容器所在的网络 web数据卷名
 docker run -d -p 8777:80 -v web:/app  --network mynet --privileged=true  webdevops/php-apache-dev
# mysql容器(无需路径映射)
#-e MYSQL_ROOT_PASSWORD=123456设置数据链接密码,--name mydb给容器命名
 docker run -d -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 --network mynet --name mydb  --privileged=true mysql:5.5.62  

使用容器

访问:http://linux的ip:prot

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值