Linux系统Docker安装和使用

224 阅读2分钟

一、Docker安装

  1. 如果有旧版本,需要卸载

    yum remove docker \
                      docker-client \
                      docker-client-latest \
                      docker-common \
                      docker-latest \
                      docker-latest-logrotate \
                      docker-logrotate \
                      docker-selinux \
                      docker-engine-selinux \
                      docker-engine \
                      docker-ce
    
  2. 安装依赖

    yum install -y yum-utils device-mapper-persistent-data lvm2
    
  3. 设置Docker源仓库

    yum-config-manager  --add-repo  https://download.docker.com/linux/centos/docker-ce.repo
    

    官方的源地址比较慢,可使用国内比较快的地址:
    阿里云:http:**//mirrors.aliyun.com/docker-ce/linux/centos/**docker-ce.repo 清华大学源:https:**//mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/centos/**docker-ce.repo

    设置之后的结果:

    image.png docker-ce.repo内容:

    image.png

  4. 开始安装

    安装版本:docker-ce为社区免费版本。

    yum install -y docker-ce docker-ce-cli containerd.io
    

    如果不需要docker-ce-cli或containerd.io可直接执行如下命令

    yum install -y docker-ce
    
  5. 检测Docker安装情况

    docker version   #查看docker版本
    

    image.png

  6. 卸载Docker

    yum remove docker-ce     #删除安装包
    rm -rf /var/lib/docker   #删除镜像、容器、配置文件等内容
    

二、Docker服务启停命令

  1. 常用启停命令

    systemctl start  docker   #启动
    systemctl stop   docker   #停止
    systemctl status docker   #状态
    systemctl restart docker  #重启
    
    systemctl enable docker     #开机自启
    systemctl disable docker  #关闭开机自启
    
    systemctl daemon-reload  #守护进程重启
    
  2. 查看本机docker服务状态

    image.png

三、Docker的使用

  1. 镜像-常用操作命令

    docker search 镜像名        #搜索仓库镜像 如:docker search nginx
    docker pull 镜像名:版本号    #拉取镜像   如:docker pull mongo:4.44
    docker images               #查看已拉取的所有镜像
    docker rmi image_id         #删除镜像
    
  2. 镜像-常用操作命令

    docker run :创建一个新的容器并运行一个命令

    命令格式:docker run [OPTIONS] IMAGE [COMMAND] [ARG...]

    docker run -it ubuntu /bin/bash   #启动(新)容器
    
    docker run --name mynginx -d -p 80:80  nginx  #启动一个新的nginx容器
    
    docker run -d -p 3310:3306 --name mysql01 -e MYSQL_ROOT_PASSWORD=123456 mysql:5.7  #启动一个新的mysql容器
    
    docker run -d -p 1521:1521 --name oracle11g \
    registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g  #启动一个新的oracle数据库容器
    
    docker run --name nginx01 -d -p 80:80 \
    -v $PWD/nginx.conf:/etc/nginx/nginx.conf \
    -v $PWD/html:/etc/nginx/html \
    -v $PWD/log/nginx:/var/log/nginx  nginx     #启动一个新的nginx容器   加了数据卷 -V
    

3. 容器数据券

(1)挂载数据卷

    -v  本地目录:容器内目录:权限 如ro        #指定路径挂载
    -v  卷名:容器内目录:权限 如rw             #具名挂载
    -v  容器内目录:权限 如rw                 #匿名挂载

(2)查看数据卷

 docker volume  ls   

 docker volume  inspect  卷名

image.png (3)查看容器挂载情况

 docker inspect nginx01

image.png

docker inspect oracle11g 

image.png

(4)数据卷默认位置

注:所有docker容器的卷,没有指定目录情况下(具名挂载和匿名挂载),都在 /var/lib/docker/volumes/ 下。

image.png