docker基础篇

本文详细介绍了如何在CentOS系统上安装和管理Docker,包括Docker的安装、镜像的拉取与删除、容器的创建与管理,以及数据卷的使用。此外,还讲解了如何搭建本地私有仓库,并演示了如何推送镜像到私有仓库以及从私有仓库拉取镜像。同时,文章提供了Tomcat、MySQL和Redis的Docker安装示例,涵盖了端口映射、数据持久化等关键操作。

docker基础篇

docker安装

  • docker 必须安装在linux 系统上

  • centos下docker安装:

dnf install docker-ce docker-ce-cli --allowerasing
docker version 查看docker 版本
systemctl start docker 启动docker

  • 如果安装不成功

rpm -q podman 查询是否安装podman
dnf remove podman 删除podman
不要通过 yum install docker 进行安装,安装的是podman

镜像:

docker images

docker search hello-world
docker search --limit 5 hello-world 查看前5条镜像

docker pull 镜像名字[:TAG]

  • 删除单个镜像

docker rmi hello-world
docker rmi -f 镜像ID

  • 删除多个镜像

docker images -qa 查询全部镜像
docker rmi -f $(docker images -qa)

docker system df 查看容器、镜像/数据卷所占的空间

容器:

  • 有镜像才能创建容器

  • docker run hello-world

-p 指定端口映射
-P 随机端口映射

容器的停止:docker stop 容器ID
开启:docker start 容器ID
重启:docker restart 容器ID
删除容器:docker rm -f 容器name

  • 本地私服库创建:

docker pull registry 拉去镜像
docker run -d -p 5000:5000 -v /myl/myregistry/:/tmp/registry --privileged=true registry 运行容器
docker run -it ubuntu /bin/bash

安装ifconfig
apt-get update
apt-get install net-tools
ctrl+p+q退出
docker commit -m=“ifconfig cmd add” -a=“myl” 526cb0dbe5de myubuntu:1.2

将新镜像修改符合私服规范的tag:docker tag myubuntu:1.2 172.17.0.1:5000/myubuntu:1.2

/etc/docker/daemon.json 添加:
{
“registry-mirrors”:[“https://registry-vpc.cn-hangzhou.aliyuncs.com”],
“insecure-registries”:[“172.17.0.1:5000”]
}
推送到私服库:docker push 172.17.0.1:5000/myubuntu:1.3

查看本地私服库:curl -XGET http://172.17.0.1:5000/v2/_catalog

删除本地镜像:docker rmi -f 172.17.0.1:5000/myubuntu:1.3
拉去本地私服库:docker pull 172.17.0.1:5000/myubuntu:1.3
docker run -it f98159e52b10 /bin/bash
产看拉取的: ifconfig

  • 容器数据卷挂载

作用:数据的持久化,数据卷可以在容器之间共享或重用数据

docker run -it -v /宿主机绝对路径目录:/容器内目录:ro --privileged=true 镜像名
docker run -it --privileged=true -v /宿主机绝对路径目录:/容器内目录:ro 镜像名 (ro:read only只能读不能写 rw 可读可写,默认rw)

查看容器卷的挂载:docker inspect 77424cce7355(容器ID)

  • 容器2继承容器1 --volumes-form parent

docker run -it --privileged=true --volumes-from u1 --name u2 ubuntu 容器继承
u1停止后,不影响u2容器

  • 安装tomcat

docker run -d -p 8080:8080 --name t1 tomcat(新版tomcat 需要修改如下,旧版不需要)
docker exec -it 8b6503cf0abc /bin/bash
rm -r webapps 删除空的文件
mv webapps.dist webapps
开放8080端口(如果是服务器上)
docker run -d -p 8080:8080 --name mytomcat8 billygoo/tomcat8-jdk8(旧版)

  • 安装mysql

docker pull mysql:5.7
docker run -p 33060:33060 -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7
设置编码:show variables like ‘character%’
不设置数据卷,容器删除容器全部删除

ps -ef | grep mysql 查看mysql 是否安装
netstat -anp |grep 3306 查看端口占用

实战版:
docker run -d -p 33060:33060 --privileged=true
-v /myl/mysql/log:/var/log/mysql
-v /myl/mysql/data:/var/lib/mysql
-v /myl/mysql/conf:/etc/mysql/conf.d
-e MYSQL_ROOT_PASSWORD=123456
–name mysql
mysql:5.7

  • 安装redis

docker run -d -p 63790:6379 redis:6.0.8
docker run -p 63790:63790 --name myr3 --privileged=true -v /app/redis/redis.conf:/etc/redis/redis.conf -v /app/redis/data:/data -d redis:6.0.8 redis-server /etc/redis/redis.conf

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

阳光帅气男孩

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值