目录
1. 安装
官网地址:Install Docker Engine on CentOS | Docker Documentation
1.1 参考官网进行安装
1.2 镜像加速配置
1)路径:进入阿里云 -- 控制台 -- 容器镜像服务 -- 镜像工具 -- 镜像加速器
2)配置:根据阿里云上的操作文档进行配置即可
2. 常用命令
官网链接:Reference documentation | Docker Documentation
2.1 帮助命令
docker version
docker info
docker 命令 --help
2.2 Docker命令
2.2.1 docker images
查看容器中的所有镜像
REPOSITORY TAG IMAGE ID CREATED SIZE
hello-world latest d1165f221234 2 months ago 13.3kB
REPOSITORY: 镜像的仓库源
TAG: 镜像标签
IMAGE ID: 镜像ID
CREATED:镜像创建时间
SIZE:镜像大小
-a: 查询全部镜像
-q:只显示镜像ID(用于批量镜像删除使用)
2.2.2 docker search
搜索镜像
docker search mysql -f=STARS=5000
-f代表filter,表示按照给定的条件进行过滤,这里代表搜索STARTS大于等于5000的镜像
2.2.3 docker pull
下载镜像
1. docker pull mysql:下载mysql镜像
[root@localhost ~]# docker pull mysql
Using default tag: latest #没有指定tag时默认下载最新版本
latest: Pulling from library/mysql
69692152171a: Pull complete #分层下载 docker image的核心 联合文件系统
1651b0be3df3: Pull complete
951da7386bc8: Pull complete
0f86c95aa242: Pull complete
37ba2d8bd4fe: Pull complete
6d278bb05e94: Pull complete
497efbd93a3e: Pull complete
f7fddf10c2c2: Pull complete
16415d159dfb: Pull complete
0e530ffc6b73: Pull complete
b0a4a1a77178: Pull complete
cd90f92aa9ef: Pull complete
Digest: sha256:d50098d7fcb25b1fcb24e2d3247cae3fc55815d64fec640dc395840f8fa80969
Status: Downloaded newer image for mysql:latest
docker.io/library/mysql:latest #镜像的真是地址,也就是docker pull mysql命令等价于docker pull docker.io/library/mysql:latest
2. docker pull mysql:5.7 指定下载mysql5.7版本的镜像
2.2.4 docker rmi
删除镜像
1. docker rmi -f 镜像ID
Untagged: mysql:5.7
Untagged: mysql@sha256:a682e3c78fc5bd941e9db080b4796c75f69a28a8cad65677c23f7a9f18ba21fa
Deleted: sha256:2c9028880e5814e8923c278d7e2059f9066d56608a21cd3f83a01e3337bacd68
Deleted: sha256:c49c5c776f1bc87cdfff451ef39ce16a1ef45829e10203f4d9a153a6889ec15e
Deleted: sha256:8345316eca77700e62470611446529113579712a787d356e5c8656a41c244aee
Deleted: sha256:8ae51b87111404bd3e3bde4115ea2fe3fd2bb2cf67158460423c361a24df156b
Deleted: sha256:9d5afda6f6dcf8dd59aef5c02099f1d3b3b0c9ae4f2bb7a61627613e8cdfe562
2. 批量删除
docker rmi -f $(docker images -qa)
2.3 容器命令
只有有了镜像才可以创建容器,下面以创建centos容器为例进行练习。
2.3.1 下载centos镜像
docker pull centos
2.3.2 新建容器并启动
docker run [可选参数] image
参数说明:
--name="xxx": 给容器起个名字,如tomcat01,tomcat02...,用来区分容器
-d:以后台方式运行容器
-it:以交互方式运行,进入容器查看内容
-p(小写):指定容器的端口
(1)-p ip:主机端口:容器端口
(2)-p 主机端口:容器端口(常用)
(3)-p 容器端口
(4)容器端口
-P(大写):随机指定端口
1. docker run -it centos /bin/bash
启动一个centos容器,并通过交互方式进入容器,进入容器后使用/bin/bash进行交互
通过exit命令可以退出容器,返回主机服务器
exit: 退出容器,关闭容器
ctrl + q + p:退出容器,但容器不关闭
2.3.4 列出所有正在运行的容器
docker ps:列出所有正在运行的容器
可选参数:
-a: 列出所有正在运行的容器和历史运行过的容器
-n=2: 显示最新创建的n个容器
-q: 只显示容器id
2.3.5 删除容器
docker rm -f 容器id
docker rm -f $(docker ps -qa)
docker ps -qa | xargs docker rm
2.3.6 启动和停止容器
docker start 容器id
docker restart 容器id
docker stop 容器id
docker kill 容器id
2.4 常用其他命令
2.4.1 后台启动容器
docker run -d centos
这个会导致容器创建后直接停止了(容器使用后台运行,就必须有一个前台进程应用,如果没有,则docker会自动停止该容器)
2.4.2 查看日志
1. 启动容器:
docker run -d centos /bin/sh -c "while true;do echo nihaoma;sleep 1;done"
2. 查看日志:
docker logs -tf --tail 10 容器ID
--tail表示显示后n条
2.4.3 查看容器进程信息
docker top 容器ID
2.4.4 查看镜像元数据
docker inspect 容器ID
2.4.5 进入当前正在运行的容器
1. 方式1:开启一个新的交互终端,可以在里面进行操作
docker exec -it 容器ID /bin/bash
2. 方式2:进入容器正在执行的终端
docker attach 容器ID
2.4.6 从容器内拷贝文件到主机上
docker cp bfc3aa9bf0df:/test.txt /
将容器ID为bfc3aa9bf0df的文件/test.txt拷贝到主机的/目