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
配置开机启动
[root@192 /]# sudo systemctl enable docker.service
[root@192 /]# sudo systemctl enable containerd.service
查看docker当前下载的镜像
[root@192 /]# docker images
配置镜像加速器
[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 run -itd --name mysql-test -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql:5.7
此时就启动了mysql
使用 docker ps 可以查看当前正在跑的容器
docker ps -a
列出当前正在运行的容器和历史运行过得容器
docker ps -q 只显示当前运行的容器编号
退出容器
exit # 直接容器停止并退出
ctrl + p +q # 容器不停止退出
docker rm f1e31a80f600 删除容器
rm 后面跟容器id
如果容器正在运行,如果想要删除的话,加-f参数
docker rm -f f1e31a80f600
停止和启动容器的常用命令
docker start 容器id
docker restart 容器id
docker stop 容器id
docker kill 容器id # 如果用stop命令报错了,则可以直接用kill命令把它干掉
启动的时候遇到的坑
docker logs -f -t --tail 查看日志
docker top 容器id 查看容器的基本信息
docker inspect 容器id 查看元数据
进入当前正在运行的容器
方式1 docker exec
docker exec -it 61a55b50edec /bin/bash 进去容器