centos-安装docker及加速


title: "centos 安装docker、加速及常用指令"
date: 2021-08-29
categories:
- "docker"
tags:
- "docker"
- "国内加速"
- "安装"
- "常用命令"
coverImage: "image-96.png"


官方文档:https://docs.docker.com/engine/install/centos/

卸载docker老版本

1
yum -y remove docker*

安装docker源

1
curl https://download.docker.com/linux/centos/docker-ce.repo -o /etc/yum.repos.d/docker-ce.repo

安装docker

1
yum -y install docker-ce

配置国内docker加速

  • 科大镜像:https://docker.mirrors.ustc.edu.cn/
  • 网易:https://hub-mirror.c.163.com/
  • 阿里云:https://<你的ID>.mirror.aliyuncs.com
  • 七牛云加速器:https://reg-mirror.qiniu.com

推荐阿里云docker加速,独享带宽

登录阿里云镜像获取地址:https://cr.console.aliyun.com/cn-hangzhou/instances/mirrors

配置加速文件,并重启docker。操作以下命令(替换你自己的ID)

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
#从未启动过docker时,需要创建/etc/docker目录
sudo mkdir -p /etc/docker
#创建daemon.json加速配置文件
sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["https://<你的ID>.mirror.aliyuncs.com"]
}
EOF
#重新加载配置
sudo systemctl daemon-reload
#重启docker
sudo systemctl restart docker

查看docker信息(倒数几行会打印出你的加速地址)

1
docker info

docker常用命令

docker命令都是已docker开头,部分新命令需要加入“container”参数

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
#查找镜像,可以通过命令或者官网:hub.docker.com中查找镜像包
docker search <镜像名称>
#下载镜像
docker pull <镜像名称>
#查看已下载镜像
docker image lsdocker images

#镜像创建容器并启动(如果本地没有自动pulldocker run <镜像名称>
###run后的参数
-d:后台yunx
--name:定义容器名称
-p:端口号(格式 <本地端口>:<docker端口>-v:目录映射(格式 <本地目录>:<docker目录>-i:交互式
-ttty终端

#容器启动/停止/重启
docker start/stop/restart <容器名或ID>
#启动-所有容器
docker start $(docker ps -qa)
#停止-所有容器
docker stop  $(docker ps -qa)
#重启-所有容器
docker restart  $(docker ps -qa)

#运行容器中执行命令(交互式:进入容器)
docker exec -it <容器ID>或<容器名称> bash
#运行容器中执行命令(非交互式:执行命令或脚本)
docker exec  <容器ID>或<容器名称> <命令><脚本>
#将文件复制到容器中
docker cp <宿主机文件路径>  <容器ID或容器名>:<容器中路径>

#查看容器信息
docker inspect <容器名或ID>
#查看容器日志
docker logs <容器名或ID>
#查看容器端口
docker port <容器名或ID>
#查看容器进程
docker top <容器名或ID>
#查看容器资源利用率(--no-streamt退出数据流)
docker stats <容器名或ID> --no-stream

#仅查看up状态的容器
docker psdocker container ls
#查看最后一次运行的容器(常用于创建完容器查看使用)
docker ps -l
#查看所有容器(包括退出状态的)
docker ps -a
#查看所有容器ID(包括退出状态的)
docker ps -q

#删除指定容器(-f强制)
docker rm <容器名或ID> -f
#删除所有退出状态的容器
docker container prune
#删除所有容器
docker rm -f $(docker ps -qa)
#删除指定镜像(需先删除对应的容器)
docker rmi <镜像名或ID> 
#删除所有镜像(需先所有的容器)
docker rmi $(docker ps -qa)

其它命令,可docker --help

例:

启动centos容器:docker run -d -it centos

进入已启动的centos容器:docker exec -it centos bash

启动nginx容器命名为web,配置本地88映射到docker的80端口,并将本地目录/opt/www映射到docker的/usr/share/nginx/html下:

docker run -d --name web -p 88:80 -v /opt/www:/usr/share/nginx/html nginx

获取容器名为web的ip:

docker inspect -f='{{. Networksettings.IPAddress}}' web

或者使用 docker exec web hostname -I