安装前置:
关闭防火墙和 selinux
systemctl stop firewalld systemctl disable firewalld
sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
sed -i "s/^SELINUX=permissive/SELINUX=disabled/g" /etc/selinux/config
setenforce 0
卸载Docker
systemctl stop docker
yum -y remove docker-ce docker-ce-cil containerd.io
rm -rf /var/lib/docker 默认工作路径
yum remove docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-engine
安装Docker
1. 安装需要的软件包
yum install -y yum-utils
有以下报错的话:
已加载插件:fastestmirror, langpacks file:///media/cdrom/repodata/repomd.xml: [Errno 14] curl#37 - "Couldn't open file /media/cdrom/repodata/repomd.xml"
解决 :mount /dev/cdrom /media/cdrom
2. 设置镜像仓库 国内的
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
3. 更新yum软件包索引
yum makecache fast
4. 安装 Docker CE(社区版) ee 企业版
yum -y install docker-ce docker-ce-cli containerd.io
报错:安装docker-ce时错误软件包: docker-ce-rootless-extras-20.10.5-3.el7.x86_64 (docker-ce-stable)
解决:下载阿里云的源
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
5. 启动 systemctl start docker
6. 测试 docker version
7. 配置镜像加速
mkdir -p /etc/docker
vim /etc/docker/daemon.json
{
"registry-mirrors": ["https://qiyb9988.mirror.aliyuncs.com"]
}
systemctl daemon-reload
systemctl restart docker
命令
***查看镜像
docker images
***查看容器
docker ps 查看正在运行的容器docker pa -a 查看全部容器(-a,查看id -q)
*** 启动,重启,停止容器
systemctl start / restart / stop / docker
*** 保存 导出镜像
docker save -o 存储文件名.tar 存储的镜像
docker load -i 文件名.tar
***导入 导出容器
docker export 容器的ID > 文件名.tar
docker import 文件名.tar 自定义镜像名称
***删除镜像
docker rmi 镜像 删除单个镜像(可以删除多个)
docker rmi -f $(docker images -q) 删除全部
***删除容器
docker rm 容器id 删除单个容器(可以删除多个)
docker rm -f $(docker ps -aq) 删除全部
***运行容器
docker run
(--rm 用完即删除,一般用于测试)
-it 交互进入 -d 后台运行 --name 容器名字 -p 暴露端口:容器内部端口
***查看日志
docker logs -tf 容器id 查看全部日志
docker logs -tf --tail 10 容器id 查看10条日志
***查看资源使用率
docker stats
***查看进程信息
docker top 容器id
***查看容器元数据
docker inspect 容器id
***从容器内拷贝文件到主机上
docker cp 容器id:容器内路径 目的主机路径
***查看容器修改内容
docker diff
案例:安装nginx
1. 下载镜像 docker pull nginx
2. 运行容器 docker run -it -d --name nginx-test -p 8080:80 nginx
3. 查看容器 docker ps
4. 测试 curl localhost:8080 可以看到 welcome to nginx
案例:安装tomcat
1. 下载镜像 docker pull tomcat
2. 运行容器 docker run -it -d --name tomcat-test -p 8888:8080 tomcat
3. 查看容器 docker ps
进入容器复制tomcat页面(默认的tomcat没有web页面)
docker exec -it tomcat-test bash
root@6af50dd4c422:/usr/local/tomcat# cp -r webapps.dist/* webapps4. 测试 IP:8888 可以看到 tomcat页面
案例:部署 ES
启动ES:
docker run -d --name elasticsearch -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" -e ES_JAVA_OPTS="-Xms64m -Xms512m" elasticsearch:7.6.2
-e 单节点 -e 限制内存 最小64m最大512m
查看: docker stats
测试 : curl localhost:9200
使用kabna 连接 es (kibana容器内网地址 ---- 连接到linux内网ip ----ES 容器内网地址 )
案例:部署portainer.io 容器可视化面板
docker run -d -p 8088:9000 --restart=always -v /var/run/docker.sock:/var/run/docker.sock --privileged=true portainer/portainer
测试:ip:8088
创建新镜像
commit
docker commit -a”作者“ -m “提交描述信息“ 容器id 目标镜像:【tag】
根据容器生成新的镜像