Centos7下Docker安装
Docker安装,内核版本是否不低于3.10,使用一下命令查询当前内核版本
uname -r
Docker自动化安装
curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun
Docker手动安装
安装yum工具包
yum -y install yum-utils
更新yum(保持yum为最新版本)
yum update
安装gcc
yum install gcc
卸载历史版本
yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-selinux \
docker-engine-selinux \
docker-engine \
docker-ce
设置远程仓库
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
通常,官方的源地址比较慢,可将上述的源地址替换为国内比较快的地址:
阿里云: http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
清华大学源: https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/centos/docker-ce.repo
安装docker
yum install -y docker-ce docker-ce-cli containerd.io
如果不需要docker-ce-cli或containerd.io可直接执行如下命令:
yum install -y docker-ce
查看docker版本
docker version
启动docker服务
systemctl start docker
停止docker服务
systemctl stop docker
重启docker服务
systemctl restart docker
docker镜像查看
docker images
docker image ls
Docker镜像
下载tomcat镜像 https://hub.docker.com/
docker pull tomcat
报错
修改 /etc/resolv.conf 文件信息
增加
nameserver 8.8.4.4
nameserver localdomain
保存后重新启动docker即可
删除镜像
docker rmi
docker rm 镜像id
Docker容器操作
查看容器状态
docker ps #查看运行的容器
docker ps -a #查看所有容器
docker container ls
docker container ls -a
docker容器运行
docker run 参数 镜像名称:tag 不加tag默认latest版本
常用参数
-i #保持和docker交互
-t #为容器的标准输入虚拟一个tty
-d #后台运行容器
--rm #容器在启动后,关闭容器自动销毁
--name #给容器起一个自定义名字
-p #宿主主机端口:内部端口
如: docker run --rm -d --name tomcat8081 -p 8081:8080 tomcat:tag
docker容器停止
docker stop 容器人名称/ID #停止指定容器
docker stop $(docker ps -a -q) #停止所有容器
docker容器启动
docker start 容器人名称/ID #启动指定定期
docker start $(docker ps -a -q) #启动所有容器
####docker容器删除(只能删除停止的容器)
docker rm 容器名称/ID #删除指定容器
docker rm $(docker ps -a -q) #删除所有容器
Centos防火墙
查看防火墙开放的端口
firewall-cmd --list-ports
开启端口(开启端口之后需要重启防火墙)
firewall-cmd --zone=public --add-port=8081/tcp --permanent
关闭端口
firewall-cmd --permanent --zone=public --remove-port=8081/tcp
重启防火墙
firewall-cmd --reload
启动防火墙
systemctl start firewalld
关闭防火墙
systemctl stop firewalld
禁止开机启动防火墙
systemctl disable firewalld
查看防火墙状态
systemctl status firewalld
进入docker容器
docker exec it 容器id bash
解决方法
docker exec -it 4b8b8bddc3da bash
修改tomcat内部文件进行访问
访问效果
Docker cp指令
docker cp 需要拷贝的文件目录 容器名称:容器目录
docker cp cesh/ tomcat-8081:/usr/local/tomcat/webapps
Docker数据卷(在容器中共享和重用)
-v #运行容器增加
mkdir 文件名 #创建文件夹
docker run -d --name tomcat-8081 -p 8081:8080 -v 数据卷路径:tomcat下webapps路径 镜像名称
Docker容器日志查看
docker logs --tail=20 tomcat-8081
--tail #查看日志的最后行数