docker安装

先卸载系统之前的老版本docker

sudo yum remove docker \
                  docker-client \
                  docker-client-latest \
                  docker-common \
                  docker-latest \
                  docker-latest-logrotate \
                  docker-logrotate \
                  docker-engine

查看当前的系统,系统内核在3.0以上

[root@192 /]# uname -r
3.10.0-957.el7.x86_64

查看系统版本,本文安装在cenOS 的docker版

[root@192 /]# cat /etc/os-release
NAME="CentOS Linux"
VERSION="7 (Core)"
ID="centos"
ID_LIKE="rhel fedora"
VERSION_ID="7"
PRETTY_NAME="CentOS Linux 7 (Core)"
ANSI_COLOR="0;31"
CPE_NAME="cpe:/o:centos:centos:7"
HOME_URL="https://www.centos.org/"
BUG_REPORT_URL="https://bugs.centos.org/"

CENTOS_MANTISBT_PROJECT="CentOS-7"
CENTOS_MANTISBT_PROJECT_VERSION="7"
REDHAT_SUPPORT_PRODUCT="centos"
REDHAT_SUPPORT_PRODUCT_VERSION="7"

需要的安装包

[root@192 /]# yum install -y yum-utils

设置镜像仓库

默认的是国外的,下载很慢

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

可推荐使用阿里的

[root@192 /]# sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

更新yum软件包索引

[root@192 /]# yum makecache fast

安装docker引擎

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

启动docker

[root@192 /]# sudo systemctl start docker

验证docker是否成功安装

通过启动hello-world镜像来验证docker是否成功安装

sudo docker run hello-world

查看docker版本

[root@192 /]# docker version

docker能抗住多少访问量 docker20_centos

配置开机启动

[root@192 /]# sudo systemctl enable docker.service
[root@192 /]# sudo systemctl enable containerd.service

查看docker当前下载的镜像

[root@192 /]# docker images

docker能抗住多少访问量 docker20_docker_02

配置镜像加速器


[root@192 /]# vim /etc/docker/daemon.json

在daemon.json配置镜像加速json

{
 “registry-mirrors”: [“https://hvmykkgx.mirror.aliyuncs.com”]
 }


注意:每个人的镜像加速地址不一样,具体规则查看上面链接

重启docker

[root@192 /]# sudo systemctl daemon-reload
[root@192 /]# sudo systemctl restart docker

常见命令

docker info 显示docker 的系统信息

[root@192 /]# docker info

docker 命令 --help 帮助命令

镜像命令

[root@192 /]# docker images
 REPOSITORY TAG IMAGE ID CREATED SIZE
 hello-world latest d1165f221234 3 weeks ago 13.3kB
 [root@192 /]# docker images -a 列出所有镜像
 REPOSITORY TAG IMAGE ID CREATED SIZE
 hello-world latest d1165f221234 3 weeks ago 13.3kB
 [root@192 /]# docker images --all
 REPOSITORY TAG IMAGE ID CREATED SIZE
 hello-world latest d1165f221234 3 weeks ago 13.3kB
 [root@192 /]# docker images -q 只显示所有镜像的id

docker search 命令

如果想下载一个mysql镜像,有两种方式
1.通过官网查询到mysql,然后复制镜像下载

https://hub.docker.com/ 官网地址

2.通过docker search mysql 来查询docker库里面有没有mysql,然后来下载

docker search mysql

docker pull

下载5.7版本的mysql

[root@192 /]# docker pull mysql:5.7
[root@192 /]# docker pull mysql:5.7
 5.7: Pulling from library/mysql 从哪个库下载
 ac2522cc7269: Pull complete
 3ff4d5966d00: Pull complete
 c8a8e9739c9e: Pull complete
 8fd773bacd12: Pull complete
 adbceeecb7f3: Pull complete
 6b53011e5d04: Pull complete
 32ae8cea62cb: Pull complete
 4a5c6fd32f05: Pull complete
 f34240da42b5: Pull complete
 a8e62ee1f8e1: Pull complete
 458b1117e790: Pull complete
 Digest: sha256:6b33c0c4224e341938a7e97f1d19737ff8d436dc574086dd129a8c7556cb8eda 签名
 Status: Downloaded newer image for mysql:5.7 当前下载的版本
 docker.io/library/mysql:5.7 正式的下载地址

docker pull mysql:5.7 和 docker pull docker.io/library/mysql:5.7 效果是一样的

删除镜像 rmi

[root@192 ~]# docker rmi -f d1165f221234

d1165f221234 指的是镜像的id

我当前把helloword的镜像上删掉了

docker能抗住多少访问量 docker20_docker能抗住多少访问量_03


递归删除所有的镜像

docker能抗住多少访问量 docker20_docker_04

启动一个容器

docker能抗住多少访问量 docker20_mysql_05


docker能抗住多少访问量 docker20_docker_06

docker run -itd --name mysql-test -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql:5.7

此时就启动了mysql

使用 docker ps 可以查看当前正在跑的容器

docker能抗住多少访问量 docker20_docker能抗住多少访问量_07

docker ps -a

列出当前正在运行的容器和历史运行过得容器

docker能抗住多少访问量 docker20_centos_08

docker ps -q 只显示当前运行的容器编号

docker能抗住多少访问量 docker20_mysql_09

退出容器

exit # 直接容器停止并退出
ctrl + p +q # 容器不停止退出

docker rm f1e31a80f600 删除容器

rm 后面跟容器id

docker能抗住多少访问量 docker20_mysql_10


如果容器正在运行,如果想要删除的话,加-f参数

docker rm -f f1e31a80f600

docker能抗住多少访问量 docker20_mysql_11

停止和启动容器的常用命令

docker start  容器id   
docker restart  容器id
docker stop 容器id
docker kill 容器id    # 如果用stop命令报错了,则可以直接用kill命令把它干掉

启动的时候遇到的坑

docker能抗住多少访问量 docker20_docker能抗住多少访问量_12

docker logs -f -t --tail 查看日志

docker能抗住多少访问量 docker20_centos_13

docker top 容器id 查看容器的基本信息

docker能抗住多少访问量 docker20_mysql_14

docker inspect 容器id 查看元数据

docker能抗住多少访问量 docker20_mysql_15

进入当前正在运行的容器

方式1 docker exec

docker exec -it 61a55b50edec /bin/bash 进去容器

docker能抗住多少访问量 docker20_centos_16