持续创作,加速成长!这是我参与「掘金日新计划 · 6 月更文挑战」的第9天,点击查看活动详情
Docker 使用容器化技术,可以将项目以及项目依赖的环境打包到可移植的容器中,然后发布到其他机器上。实质上,容器内的应用还是直接运行在宿主机上,各个容器之间相互隔离。
Docker 是内核级别的虚拟化,可以在一个物理机上可以运行很多的容器实例。
Docker 安装
官方文档:docs.docker.com/
安装
-
yum 包更新到最新
yum update注:若 Linux 虚拟机未配置网络,则可以通过查看另一篇博客配置网络:在 VM 虚拟机中 Linux 动态网络配置_ZOOM_Jie -CSDN博客。
-
安装需要的软件包,yum-util 提供 yum-config-manager 功能,另外两个是 devicemapper 驱动依赖
yum install -y yum-utils device-mapper-persistent-data lvm2 -
设置 yum 源为阿里云
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo -
安装 Docker 社区版
yum -y install docker-ce -
查看 Docker 版本号
docker -v
设置 USTC 镜像
-
编辑
/etc/docker/daemon.json文件mkdir -p /etc/docker vim /etc/docker/daemon.json注:通过 yum 安装 vim:
yum -y install vim*。 -
在
daemon.json文件中输入以下内容:{ "registry-mirrors":["https://docker.mirrors.ustc.edu.cn"] }
启动 Docker
-
启动 docker
systemctl start docker -
停止 docker
systemctl stop docker -
查看 docker 状态
systemctl status docker -
查看 docker 具体信息
docker info -
查看 docker 帮助文档
docker --help -
设置开机自动启动 docker
systemctl enable docker
Docker 常用命令
镜像命令
-
查看镜像
docker images -
搜索镜像
docker search centos -
拉取镜像
docker pull 镜像名称(repository):版本(tag)注:拉取镜像不加版本
(:7)即默认拉取最后一个版本。 -
删除镜像
按镜像 ID 删除镜像
docker rmi ImageID删除所有镜像
docker rmi docker images -q
容器命令
-
启动容器
docker start [容器名/id] -
停止容器
docker stop [容器名/id] -
查看正在运行的容器
docker ps -
删除容器
docker rm [容器名/id] -
查看所有容器
docker ps -a -
查看最后一次运行的容器
docker ps -l -
查看停止的容器
docker ps -f status=exited -
查看停止的容器
docker ps -f status=exited -
创建容器
docker run-i:表示运行容器。-t:表示容器启动后会进入其命令行。加入这两个参数后,容器创建就能登录进去。即分配一个伪终端。--name:为创建的容器命名(唯一)。-v:表示目录映射关系(前者是宿主机目录,后者是映射到宿主机上的目录),可以使用多个 -v 做多个目录或文件映射。注意:最好做目录映射,在宿主机上做修改,然后共享到容器上。-d:在 run 后面加上 -d 参数,则会创建一个守护式容器在后台运行(这样创建容器后不会自动登录容器,如果只加 -i,-t 两个参数,创建后就会自动进去容器)。-p:表示端口映射,前者是宿主机端口,后者是容器内的映射端口。可以使用多个 -p 做多个端口映射。-
交互式方式创建容器
docker run -it --name=容器名 [镜像名称]:[版本] /bin/bash这时我们通过 ps 命令查看,发现可以看到启动的容器,状态为启动状态
-
守护式方式创建容器(后台运行)
docker run -di --name=容器名 [镜像名称]:[版本]进入命令行
docker exec -it [容器名/id] /bin/bash
-
-
退出当前容器
exit -
拷贝主机文件到容器
docker cp [文件] [容器名/id]:[目录] -
拷贝容器文件到主机
docker cp [容器名/id]:[文件路径] [copy文件重命名] -
容器目录挂载(映射)
docker run -di -v [主机目录]:[容器目录] --name=容器名 [镜像名称]:[版本] -
查看容器详细信息
docker inspect [容器名/id]过滤信息
docker inspect --format='{{.[字段].[key]}}' [容器名/id]