安装docker :
前提 centos 7 64位 centos内核版本3.10以上
1 uname -r 查看内核
2 yum install -y yum-utils device-mapper-persistent-data lvm2 下载依赖包
3 um-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo设置docker yum源
4 yum list docker-ce --showduplicates | sort -r 查看仓库中所有docker版本:
5安装docker yum install -y docker-ce
6 查看docker状态 service docker status
7 启动docker service docker start
测试源是否能用
1 docker run hello-world 运行cker run hello-world
是一个常用的命令,用于测试 Docker 是否正确安装在你的系统上。这个命令会运行一个名为 hello-world
的 Docker 镜像,该镜像是一个特殊的镜像,用于演示 Docker 的基本功能(
当你执行 docker run hello-world
命令时,Docker 会执行以下步骤:
查找镜像:Docker 首先会在本地查找名为 hello-world
的镜像。如果本地没有该镜像,Docker 会尝试从 Docker Hub(Docker 的官方镜像仓库)下载它。
下载镜像(如果本地没有):如果本地没有 hello-world
镜像,Docker 会从 Docker Hub 下载它。这个镜像非常小,下载速度通常很快。
创建容器:下载完成后,Docker 会使用 hello-world
镜像来创建一个新的容器。
运行容器:容器创建后,Docker 会运行容器中的程序。对于 hello-world
镜像,它会打印一条欢迎信息,并显示 Docker 的一些基本用法和文档链接。
退出容器:hello-world
镜像中的程序执行完毕后,容器会自动退出。
)发现不能用,因为他默认源在国外,抠搜的不让用
2 vim /etc/docker/daemon.json
{
"registry-mirrors": ["https://docker.fxxk.dedyn.io","https://docker.registry.cyou","https://docker-cf.registry.cyou","https://docker.jsdelivr.fyi","https://dockercf.jsdelivr.fyi"]
}
这是新找的能用的,但也可能明天就用不了,你可以去这里找
GitHub - cmliu/CF-Workers-docker.io: 这个项目是一个基于 Cloudflare Workers 的 Docker 镜像代理工具。它能够中转对 Docker 官方镜像仓库的请求,解决一些访问限制和加速访问的问题。GitHub - cmliu/CF-Workers-docker.io: 这个项目是一个基于 Cloudflare Workers 的 Docker 镜像代理工具。它能够中转对 Docker 官方镜像仓库的请求,解决一些访问限制和加速访问的问题。
GitHub - cmliu/CF-Workers-docker.io: 这个项目是一个基于 Cloudflare Workers 的 Docker 镜像代理工具。它能够中转对 Docker 官方镜像仓库的请求,解决一些访问限制和加速访问的问题。
上边这些https开头的直接加到上面配置文件中括号里,注意加双引号,和用逗号隔开
重启 service docker restart
再次运行 docker run hello-world
常用命令
查看版本:docker version
查看详情: docker info
docker帮助: docker --help
查看docker大小: du -sh docker
刚拉的镜像都在这里 cat /var/lib/docker/image/overlay2/repositories.json
列出本地镜像 docker images 可以看到刚才拉的hello-world镜像
显示完整的镜像信息 docker images --no-trunc
:列出本地的所有镜像(包括不完整/损坏的镜像) docker images -a
只显示镜像的id docker images -q
列出本地的所有镜像(包括不完整/损坏的镜id docker images -qa
显示镜像的摘要信息 docker images --digests
搜索与tomcat相关的镜像 docker search tomcat
只显示前三行 docker search tomcat --limit 3
拉取镜像 docker pull tomcat:9.0.80 这个tomcat没有index.jps页面 所以会404
拉完再次查看镜像 docker images
再次查看docker大小: du -sh docker 发现比刚才大得多
再次查看拉的镜像 cat /var/lib/docker/image/overlay2/repositories.json
删除镜像 docker rmi 镜像:版本号
docker rmi hello-world:latest
镜像被使用过,就存在容器,有容器在用它,删不了
docker ps -a 查看使用过和正在使用的镜像 可以看到已经用过hello-world
非要删除这个镜像要么先把容器删了要么加 -f 强制删除 docker rmi -f hello-world:latest
再次查看镜像 docker images 没有hello-world了
(docker run hello-world拉取并运行, docker pull hello-world只拉取不运行)
建议删除镜像直接用强制删除 就像这个hello-world ,用过了,强制删除后,再拉取不运行,也会常出现在容器里,想删除还得 -f 强制删除
删除 后面也可以跟id docker rmi -f d2c94e258dcb id在官网都是唯一的
批量删除 docker rmi -f $(docker images -q)
全批量删除 docker rmi -f $(docker images -qa)
容器命令
tomcat id唯一
docker run --name tomcat91 -d ce95ab0490a9 从镜像启动一个新的容器
docker run --name tomcat92 -d ce95ab0490a9
docker run --name tomcat93 -d ce95ab0490a9
docker ps 正在运行的
docker stop tomcat91 停掉tomcat91
docker start tomcat91 启动
-l:显示最近所创建过的一个容器
-n:显示最近所创建过的n个容器 docker ps -n 5 显示最近所创建过的5个容器
你想进容器看看小世界吗 想!!!!!1
docker exec -it tomcat91 /bin/bash
./bin/shutdown.sh 关闭tomcat
exit 退出
docker logs tomcat91 看日志
端口映射
弄三个tomcat 在docker 并显示页面
docker volume create tomcat91
docker volume create tomcat92
docker volume create tomcat93
docker run --name tomcat91 -d -p 18081:8080 -v tomcat93:/usr/local/tomcat/webapps tomcat:9.0.80
docker run --name tomcat92 -d -p 18082:8080 -v tomcat93:/usr/local/tomcat/webapps tomcat:9.0.80
docker run --name tomcat93 -d -p 18083:8080 -v tomcat93:/usr/local/tomcat/webapps tomcat:9.0.80
docker ps 看一下是不是全启动了
mkdir /var/lib/docker/volumes/tomcat91/_data/ROOT
mkdir /var/lib/docker/volumes/tomcat92/_data/ROOT
mkdir /var/lib/docker/volumes/tomcat93/_data/ROOT
vim /var/lib/docker/volumes/tomcat91/_data/ROOT/index.jsp
<html>
<head>
<title>index</title>
</head>
<body>
<h3> welcome to qy3333333333333 <h3>
</body>
</html>
cp /var/lib/docker/volumes/tomcar91/_data/ROOT/index.jsp /var/lib/docker/volumes/tomcat92/_data/ROOT/
cp /var/lib/docker/volumes/tomcar91/_data/ROOT/index.jsp /var/lib/docker/volumes/tomcat93/_data/ROOT/
把index.jsp里面<h3><h3>改成能辨识tomcat91 92 93 的
在浏览器里
192.168.58.71:18081
192.168.58.71:18082
192.168.58.71:18083
能看到你在<h3><h3>里的辨识tomcat91 92 93