Docker
yuhuo2024-04-05开发工具
参考链接
一. 安装
# yum-utils:提供 yum-config-manager 工具
# device-mapper-persistent-data:linux存储驱动
# lvm2:创建逻辑磁盘分区
yum install -y yum-utils device-mapper-persistent-data lvm2
# 添加docker镜像源
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
# 安装docker-ce(docker的社区免费版)
yum install docker-ce docker-compose-plugin -y
# 启动docker
systemctl start docker
# 设置开机自启动
systemctl enable docker
# 查看docker和docker-compose版本,验证是否成功安装
docker -v
docker compose version
# 查看docker版本详细信息
docker version
docker info
二. 常用命令
镜像管理
docker image ls
:查看镜像列表docker image pull <镜像id|镜像名>
:从远程仓库下载镜像docker image rm <镜像id|镜像名>
:删除镜像docker image build -t <新镜像名> <Dockerfile所在目录>
:根据 Dockerfile 文件构建镜像docker image save -o <导出文件路径.tar> <镜像id|镜像名>
:将镜像导出成 tar 文件docker image load -i <导入文件路径.tar>
:将 tar 文件导入成镜像(镜像名是导出前的镜像名,与 tar 文件名无关)docker image push <镜像id|镜像名>
:推送本地镜像到远程仓库
简便写法
原名 | 别名 |
---|---|
docker image ls | docker images |
docker image <命令> | docker <命令> |
容器管理
docker container ls
:查看容器列表-a
:展示所有容器(默认只展示运行中的)
docker container create <选项> <镜像id|镜像名>
:根据本地镜像创建容器-p <容器端口>:<主机端口>
:指定端口映射--name <容器名>
:指定容器名
docker container start <容器id|容器名>
:启动容器,后台运行docker container run <选项> <镜像id|镜像名>
:创建容器并启动(相当于 create + start,本地镜像不存在会自动从远程仓库下载)-d
:后台运行(默认前台运行)--rm
:关闭容器后自动删除
docker container stop <容器id|容器名>
:安全关闭容器docker container kill <容器id|容器名>
:立即关闭容器docker container restart <容器id|容器名>
:重启容器docker container rename <旧容器名> <新容器名>
:容器重命名docker container commit <容器id|容器名> <新镜像名:版本>
:容器修改后,保存成一个新镜像-a <作者信息>
-m <提交信息>
docker container rm <容器id|容器名>
:删除容器
简便写法
原名 | 别名 |
---|---|
docker container ls | docker ps |
docker container <命令> | docker <命令> |
容器修改
docker exec -it <容器id|容器名> /bin/bash
:分配一个伪终端进入容器内(基本都是Linux系统)# 查看容器内系统发行版(比如nginx镜像使用的是Debian) cat /etc/issue # 更新软件包信息 apt update # 安装vim apt install vim # 进行一些操作,比如修改nginx配置文件 # 退出容器 exit
docker cp <主机目录> <容器id|容器名>:<容器内目录>
:将主机文件拷贝到容器内部- 示范:
docker cp /data/www mynginx:/data/www
- 示范:
docker commit
:将容器保存成新镜像(用法参考上节)
三. Dockerfile
# 基于nginx的镜像
FROM nginx
# 将项目中的文件复制到镜像中
COPY dist/ /usr/share/nginx/html/
COPY default.conf /etc/nginx/conf.d/default.conf
四. Docker Compose
docker-compose up
:启动容器集群-d
:后台运行