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

阿里云容器镜像服务 (aliyun.com)open in new window

二. 常用命令

镜像管理

  • 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 lsdocker 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 lsdocker ps
docker container <命令>docker <命令>

容器修改

  1. docker exec -it <容器id|容器名> /bin/bash:分配一个伪终端进入容器内(基本都是Linux系统)
    # 查看容器内系统发行版(比如nginx镜像使用的是Debian)
    cat /etc/issue
    
    # 更新软件包信息
    apt update
     # 安装vim
    apt install vim
    
    # 进行一些操作,比如修改nginx配置文件
    
    # 退出容器
    exit
    
  2. docker cp <主机目录> <容器id|容器名>:<容器内目录>:将主机文件拷贝到容器内部
    • 示范: docker cp /data/www mynginx:/data/www
  3. 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:后台运行
Last Updated 2024/4/11 11:44:57