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

1359

被折叠的 条评论
为什么被折叠?



