1,安装docker

1,通过 uname -r 命令查看你当前的内核版本

  1. [root@localhost ~]# uname -r

2,使用 root 权限登录 Centos。确保 yum 包更新到最新。

  1. [root@localhost ~]# yum update

3,卸载旧版本(如果安装过旧版本的话)

  1. [root@localhost ~]# yum remove docker docker-common docker-selinux docker-engine

4,安装需要的软件包, yum-util 提供yum-config-manager功能,另外两个是devicemapper驱动依赖的

  1. [root@localhost ~]# yum install -y yum-utils device-mapper-persistent-data lvm2

5,设置yum源

  1. # 推荐设置阿里云镜像
  2. [root@localhost ~]# yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
  3. # 设置docker镜像
  4. [root@localhost ~]# yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

6,可以查看所有仓库中所有docker版本,并选择特定版本安装

  1. [root@localhost ~]# yum list docker-ce --showduplicates | sort -r

7,安装docker,docker-ce是免费版,docker-ee是收费版

  1. [root@localhost ~]# yum install docker-ce #由于repo中默认只开启stable仓库,故这里安装的是最新稳定版17.12.0
  2. [root@localhost ~]# yum install <FQPN> # 例如:sudo yum install docker-ce-17.12.0.ce

8,启动并加入开机启动,停止

  1. # 启动
  2. [root@localhost ~]# systemctl start docker
  3. # 加入开机启动
  4. [root@localhost ~]# systemctl enable docker
  5. # 停止
  6. [root@localhost ~]# systemctl stop docker
  7. # 重启
  8. [root@localhost ~]# systemctl restart docker

9,验证安装是否成功(有client和service两部分表示docker安装启动都成功了)

  1. [root@localhost ~]# docker version

10,查看docker是否启动成功

  1. [root@localhost ~]# systemctl status docker
  2. # 或者用
  3. [root@localhost ~]# ps -ef | grep docker

11,查看docker信息

  1. [root@localhost ~]# docker info

2,设置docker拉取镜像ustc

1,创建目录文件daemon.json

  1. mkdir -p /etc/docker
  2. vim /etc/docker/daemon.json

2,配置如下内容

  1. {
  2. "registry-mirrors": ["https://docker.mirrors.ustc.edu.cn"]
  3. }

3,docker常用操作命令

1,查看已安装的镜像

  1. docker images

2,网络搜索镜像

  1. # 例如搜索nginx
  2. docker search nginx

3,拉取镜像

  1. # 默认会下载最新版,相当于nginx:latest
  2. docker pull nginx
  3. # 指定下载nginx:1.20.1版本
  4. docker pull nginx:1.20.1

4,删除镜像可以用镜像的名称 nginx 或者ID 766b39f5021c

image.png

  1. # 删除单个镜像
  2. docker rmi 766b39f5021c
  3. # 删除所有镜像,docker images -q 查询出所有的镜像ID
  4. docker rmi 'docker images -q'

5,查看正在运行的容器

  1. docker ps

6,查看所有容器

  1. docker ps -a

7,查看最后一次运行的容器

  1. docker ps -l

8,查看停止的容器

  1. docker ps -f status=exited

9,创建一个容器并启动

  1. # 创建容器并启动,末尾加上 /bin/bash 表示会进入命令行
  2. docker run -it --name=mynginx nginx:1.20.1
  3. # 端口映射启动
  4. docker run -id --name=mynginx -p 80:80 nginx:1.20.1
  5. # 创建容器并在后台运行
  6. docker run -id --name=mynginx nginx:1.20.1

10,进入容器

  1. docker exec -it mynginx /bin/bash

11,启动,停止,重启容器,后面的参数可以用镜像的名称 mynginx 或者ID 766b39f5021c

  1. # 启动
  2. docker start 766b39f5021c
  3. # 停止
  4. docker stop 766b39f5021c
  5. # 重启
  6. docker restart 766b39f5021c

12,从主机目录复制文件到docker容器指定目录

  1. docker cp anaconda-ks.cfg 766b39f5021c:/usr/local

13,从docker容器目录复制文件到主机目录

  1. docker cp 766b39f5021c:/usr/local/anaconda-ks.cfg anaconda-ks2.cfg

14,将主机目录挂载到docker指定目录下面,—name=nginx2 nginx2未创建的情况

  1. docker run -id -v /usr/local/mydata/:/usr/local/mydata --name=nginx2 nginx:1.20.1

15,删除容器

  1. docker rm 766b39f5021c

4,docker命令资料

1,展示容器信息

  1. # 查看容器信息
  2. docker container inspect ctc-mysql

image.png

2,配置文件目录

  1. /var/lib/docker/containers

image.png

5,docker-compose.yml常用命令

1,彻底停止容器,会删除网络和docker-compose stop命令不同

  1. docker-compose down
  2. docker-compose down mysql

2,启动容器,和docker-compose start命令不同

  1. docker-compose up -d
  2. docker-compose up -d mysql