最近在学习docker,所以整理一些常用的命令以备后续使用。

安装docker

  • centos7下安装Docker CE

    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
    2.安装一些必要的系统工具:
       yum install -y yum-utils device-mapper-persistent-data lvm2
    3.添加软件源信息(从阿里云上进行下载安装):
       yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
    4.更新 yum 缓存:
       yum makecache fast
    5.安装 Docker-ce:
       yum -y install docker-ce
    6.启动 Docker 后台服务:
       systemctl start docker
    7.守护进程:
       systemctl daemon-reload
    8.开机自启
       systemctl enable docker
  • centos8下安装Docker CE:

    1.下载docker-ce的repo
       curl https://download.docker.com/linux/centos/docker-ce.repo -o /etc/yum.repos.d/docker-ce.repo
    2.安装依赖(这是相比centos7的关键步骤)
       yum install https://download.docker.com/linux/fedora/30/x86_64/stable/Packages/containerd.io-1.2.6-3.3.fc30.x86_64.rpm
    3.安装docker-ce
       yum install docker-ce
    4.启动docker
       systemctl start docker
    5.守护进程:
       systemctl daemon-reload
    6.开机自启
       systemctl enable docker
  • 镜像加速

    在/etc/docker/daemon.json文件里面添加:
    这个是网易加速地址
    {
      "registry-mirrors": ["http://hub-mirror.c.163.com"]
    }
    然后重启docker服务就可以了。
    service docker restart

运行docker

  • 启动

    systemctl start docker
  • 守护进程重启

    systemctl daemon-reload
  • 重启docker服务

    service docker restart
  • 关闭docker

    service docker stop

操作docker

镜像操作

  • 拉取docker镜像

    docker pull 镜像名称
  • 查看宿主机上的镜像,Docker镜像保存在/var/lib/docker目录下

    docker images
  • 删除镜像

    docker rmi 镜像名称/镜像ID
  • 查看当前有哪些容器正在运行

    docker ps 
  • 查看所有容器,无论运行与否

    docker ps -a
  • 启动、停止、重启容器命令:

    docker start 容器名称/容器ID
    docker stop 容器名称/容器ID
    docker restart 容器名称/容器ID
  • 后台启动一个容器后,进入到这个容器

    docker attach 容器名称/容器ID
    docker exec -it 容器名称/容器ID /bin/bash
  • 删除容器

    docker rm 容器名称/容器ID
  • 删除所有停止的容器

    docker rm $(docker ps -a -q)
  • 查找Docker Hub上的某些镜像

    docker search 镜像名称

容器操作

  • 运行容器

    docker run -it 镜像名 /bin/bash

    运行容器的时候有很多的条件:

    docker容器自动启动,就是在随着docker启动。
    docker run --restart=always -d 镜像名称
    
    docker容器起别名
    docker run --name 镜像别名 -d 镜像名称
    
    docker容器端口号设置
    docker run -p 宿主机端口:容器端口号 -d mysql
    
    docker容器与宿主机共享目录
    docker run -v 宿主机目录:容器目录 -d 镜像名称
  • 删除 Docker CE

    yum remove docker-ce
    rm -rf /var/lib/docker

     

  • 如果创建时未指定某些设定,可以通过update修改(比如自动启动)

    docker container update --restart=always 容器名字
  • 写个可以启动mysql的命令吧

    docker run --restart=always -p 3306:3306 -e MYSQL_ROOT_PASSWORD=数据库密码 -d --name 容器别名 容器名称
    数据持久化,保存到宿主机上面
    docker run --restart=always -it -d -p 3306:3306 -e MYSQL_ROOT_PASSWORD=数据库密码 -v /opt/mysql/data:/var/lib/mysql --name 容器别名 容器名称

周兆东
107 声望21 粉丝

一个java小白的成长之路。。。