安装Docker
使用 Docker 仓库进行安装
卸载老版 Docker
yum remove docker \docker-client \docker-client-latest \docker-common \docker-latest \docker-latest-logrotate \docker-logrotate \docker-engine
安装 Docker 仓库
yum install -y yum-utils
yum-utils 提供了 yum-config-manager
添加 Yum源
官网提供的yum源(不推荐),其下载比较慢。
yum-config-manager \--add-repo \https://download.docker.com/linux/centos/docker-ce.repo
阿里提供的yum源(推荐)
yum-config-manager \--add-repo \http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
安装Docker引擎
执行如下命令,默认安装的是最新版本的 Docker引擎
yum install -y docker-ce docker-ce-cli containerd.io
如需要安装其他版本,使用如下命令查看 Docker 版本
[root@server20 ~]# yum list docker-ce --showduplicates | sort -rdocker-ce.x86_64 3:20.10.8-3.el7 docker-ce-stabledocker-ce.x86_64 3:20.10.8-3.el7 @docker-ce-stabledocker-ce.x86_64 3:20.10.7-3.el7 docker-ce-stabledocker-ce.x86_64 3:20.10.6-3.el7 docker-ce-stabledocker-ce.x86_64 3:20.10.5-3.el7 docker-ce-stable
安装其他版本命令:
yum install docker-ce-<VERSION_STRING> docker-ce-cli-<VERSION_STRING> containerd.io
验证 Docker是否安装成功
docker version
通用安装方式
下载安装脚本
curl -fsSL get.docker.com -o get-docker.sh
执行安装脚本
sh get-docker.sh --mirror Aliyun
配置镜像加速
sudo mkdir -p /etc/dockersudo tee /etc/docker/daemon.json <<-'EOF'{"registry-mirrors": ["https://puuz13iy.mirror.aliyuncs.com"]}EOFsudo systemctl daemon-reloadsudo systemctl restart docker
Docker 服务相关命令
systemctl start docker # 启动 Dockersystemctl status docker # 查看 Docker 状态systemctl stop docker # 停止 Dockersystemctl restart docker # 重启 Dockersystemctl enable docker # 设置 Docker 开机自启
常用命令
辅助命令
docker version # 查看docker版本docker info # 查看docker详细信息docker --help # 帮助手册
Images镜像命令
docker search 镜像名称 # 搜索镜像docker search mysql # 搜索 mysql 相关镜像docker pull 镜像名[:tags] # 拉取镜像docker pull mysql:5.7 # 拉取Mysql5.7 镜像docker pull tomcat:jdk8docker images # 查看镜像docker images -a # 查看所有镜像docker images -q # 查看镜像的 iddocker rmi 镜像id或镜像名 # 删除镜像
1、通常我们搜索镜像都是去 hub.docker.com,而不是使用 docker search 2、使用 docker rmi 删除正在运行的镜像会报错。如何解决? 方法①、将该镜像对应的容器停止,然后再删除 方法②、docker rmi -f 镜像名或镜像id 强制删除
容器相关命令
容器运行—docker run 命令
docker run 镜像名 # 运行新的容器docker run 命令后面可以跟很多选项,具体可以参考帮助文档,使用docker run --help # 参考具体用法常用选项-d # 后台运行-p # 端口映射 宿主机端口:容器内端口--name # 给容器起别名例如:docker run -d --name tomcat8.5 -p 8081:8080 tomcat:8.5-jdk8
查看容器 — docker ps 命令
docker ps # 查看正在运行的容器docker ps -a # 查看所有的容器,包含停止了的容器docker ps -q # 查看正在运行容器 iddocker ps -qa # 查看所有容器 id
容器启停命令
docker start 容器名或容器id # 启动容器docker stop 容器名或容器id # 停止容器docker restart 容器名或容器id # 重启容器docker kill 容器名或容器id # 杀死正在运行容器
删除容器
docker rm -f 容器名或容器id # 删除某个容器docker rm -f $(docker ps -qa) # 删除所有容器
查看容器内进程
docker top 容器名或容器id
查看容器运行的日志
docker logs -f 容器名或容器iddocker logs -f 248d0c0b2785
查看容器内部细节
docker inspect 容器iddocker inspect 248d0c0b2785
进入容器内部
docker exec -it 容器名或容器id /bin/bashdocker exec -it 248d0c0b2785 /bin/bash
输入 exit 退出容器内部
文件拷贝
cp 命令实现文件拷贝
docker cp 文件|目录 容器id:容器路径 ----------------- 将宿主机复制到容器内部docker cp 容器id:容器内资源路径 宿主机目录路径 ----------------- 将容器内资源拷贝到主机上
数据卷 — docker volume
数据卷帮助命令
[root@localhost data]# docker volume --helpUsage: docker volume COMMANDManage volumesCommands:create 创建数据卷inspect 查看数据卷详细情况ls 列举出有哪些数据卷prune 移除无效的数据卷rm 删除数据卷
创建数据卷
docker volume create 数据卷名 #创建数据卷docker volume create my-vol
列举数据卷
[root@localhost data]# docker volume lsDRIVER VOLUME NAMElocal my-vol
查看数据卷
docker volume inspect 数据卷名[root@localhost data]# docker volume inspect my-vol[{"CreatedAt": "2021-08-30T12:04:07+08:00","Driver": "local","Labels": {},"Mountpoint": "/var/lib/docker/volumes/my-vol/_data","Name": "my-vol","Options": {},"Scope": "local"}]
挂载数据卷
docker run -d --name mytomcat -p 8082:8080-v my-vol:/usr/local/tomcat/webapps tomcat:8.5-jdk8# 使用 -v 参数指定将哪个数据卷挂载到哪个目录下,# 如果 -v 后面指定的数据卷之前没有创建,这里也会自动帮我们创建
