Docker

发布时间 2023-09-11 22:41:19作者: 牧丶归

安装

centos7安装docker

1、安装yum工具

 yum install -y yum-utils \
            device-mapper-persistent-data \
            lvm2 --skip-broken

2、更新本地镜像源

 yum-config-manager \
     --add-repo \
     https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
 sed -i 's/download.docker.com/mirrors.aliyun.com\/docker-ce/g' /etc/yum.repos.d/docker-ce.repo
 yum makecache fast

3、安装docker

yum install -y docker-ce

4、关闭防火墙

 systemctl stop firewalld
 systemctl disable firewalld

不同的操作系统安装方式不一样

基本操作

启动

 systemctl start docker

设置开机启动【重启操作系统后生效】

systemctl enable docker

停止

systemctl stop docker

 

重启

systemctl restart docker

配置镜像加速

 mkdir -p /etc/docker
 vim /etc/docker/daemon.json
 ​
 {
   "registry-mirrors": ["https://p11xf841.mirror.aliyuncs.com"]
 }
 把上面的内容复制到 daemon.json
 sudo systemctl daemon-reload
 sudo systemctl restart docker

镜像

文件系统

Docker将应用程序及其所需的依赖、函数库、环境、配置等文件打包在一起

由两部分组成

  • 镜像名称

  • 镜像版本

    • 未指定版本,默认为 latest

  • 如

    • 镜像名称:版本号

    • mysql:5.7.25

镜像相关命令

查看本地镜像

 docker images

搜索镜像

docker search 镜像名称

拉取镜像

docker pull 镜像名称:版本号

 

案例一

拉取nginx镜像:docker pull nginx

导出镜像

 docker save -o [保存的目标文件名称] [镜像名称]
 docker save -o nginx.tar nginx:latest

删除镜像

前提:该镜像没有对应的容器

docker rmi 镜像ID或者镜像名称
 docker rmi nginx:latest

导入镜像

docker load -i nginx.tar

 

导入后如果查看不到镜像名称,可以使用 docker tag 为镜像指定名称

 docker tag 镜像ID 镜像名称:tag
 docker tag 605c77e624dd nginx:latest

容器

相关命令

参数

运行容器
docker run -d -p 80:80 --name nginx80 -v /opt/nginx/html:/usr/share/nginx/html -v /opt/nginx/nginx.conf:/etc/nginx/nginx.conf --rm 镜像名称或镜像id

参数说明 -d:后台运行 -p:端口映射 --name:指定容器名称 -v:数据卷映射 --rm:停止容器后删除容器 --restart:重启容器方式 --rm 跟 --restart 不能同时使用

基本命令(重要)

 docker run -d -p 宿主机端口:容器端口 --name 容器名称 镜像ID或者镜像名称
     docker run -d -p 80:80 --name nginx nginx:latest

查看容器

查看正在运行的容器

 docker ps

查看全部容器

 docker ps -a

查看全部容器ID

 docker ps -aq

停止容器

docker stop 容器名称或ID

停止所有的容器

docker stop $(docker ps -aq)

启动退出的容器

 docker start 容器名称或ID

重启容器

docker restart 容器名称或ID

删除容器

 docker rm 容器名称或ID
     容器必须是停止状态,才能删除

进入容器(重要)

docker exec -it 容器ID或容器名称 bash

 

命令解读 ​ docker exec :进入容器内部,执行一个命令 ​ -it : 给当前进入的容器创建一个标准输入、输出终端,允许我们与容器交互 ​ bash:进入容器后执行的命令,bash是一个linux终端交互命令

退出容器

 exit

查看容器日志(重要)

 docker logs 容器ID

数据卷

1、概述

可以让宿主机的目录和容器中的目录形成映射关系,实现共享数据 ​ 数据卷的本质就是一个目录

2、创建数据卷

docker volume create 数据卷名称

3、查看数据卷信息

docker volume inspect 数据卷名称

4、查看全部数据卷

 docker volume ls

5、删除数据卷

只能删除没有被容器引用的数据卷 ​ 删除全部

docker volume prune

删除指定数据卷