前言
本文主要是实践操作,相关理论概念请参考Docker学习一、docker简介以及核心概念
一、Docker安装
注意:centos6对docker支持的不好,使用docker建议升级到centos7,docker官方建议使用Ubuntu系统,兼容性更好一些。
1-1、centos7安装docker
直接使用yum安装即可:
yum install -y docker
1-2、centos6安装docker
centos6安装docker相对麻烦,需要使用rpm包来安装:
rpm -ivh [http://dl.Fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm](http://dl.Fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm)
yum install -y docker-io
service docker start
1-3、ubuntu安装docker
apt install docker.io -y
1-4、安装后验证
docker version
二、Docker实战案例一:配置镜像加速
在国内通过docker官方的仓库进行下载镜像比较缓慢,这个时候就需要使用加速器了。在国内,阿里云、163都提供了docker仓库,但是阿里云还提供了加速功能。所以,我们选用阿里云的加速。要使用阿里云加速器,需要到阿里云进行注册,获取到自己专属的加速地址。注意:使用加速是无需登录的,所以可以公用。而163无需注册,163的仓库地址:http://hub-mirror.c.163.com。
这里以使用阿里云加速器为例来配置docker镜像加速:
2-1、打开阿里云网站,点击控制台:
2-2、进行登录,如果没有账号就先注册个账号,登录成功后会跳转到控制台页面,找到容器服务:
2-3、点击镜像,就可以看到有很多的镜像:
2-4、点击右上角的镜像仓库控制台:
2-5、点击镜像加速器:
在这个页面就会有您的专属加速地址和操作文档,选择对应的平台进行操作。我这里是CentOS7,修改对应的/etc/docker/daemon.json文件,重启docker服务即可进行镜像加速配置。
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://q5qydbjv.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
三、Docker实战案例二:下载Redis3.0镜像
3-1、搜索镜像
首先搜索我们想要的镜像,使用docker search命令来搜索镜像:
docker search redis:3.0
redis:3.0,:后面指定对应的版本。
我们也可以到远程仓库https://hub.docker.com/和上面阿里云的镜像中直接搜索。
3-2、下载镜像
使用docker pull redis:3.0命令来下载镜像:
docker pull redis:3.0
3-3、查看镜像
使用docker images命令来查看已下载的镜像:
3-4、删除镜像
使用docker rmi命令来删除对应版本的镜像:
docker rmi redis:3.0
- -f:强制删除。如果有正在运行的容器使用了该镜像,那么该镜像是不会真正的删除的。
四、Docker实战案例三:创建、运行Redis3.0容器
4-1、创建容器
通过docker create命令可以创建一个容器,这仅仅是创建,并没有启动容器。
使用redis:3.0镜像创建名为redis的容器,并将redis占用的6379端口映射为主机16379端口:
docker create -p 16379:6379 --name redis redis:3.0
4-2、查看容器状态
通过docker ps命令查看正在运行的容器列表,需要查询所有的容器需要加-a参数:
docker ps -a
4-3、运行容器
使用docker start 容器ID来运行容器:
docker start 980b11c60bef
使用docker ps查看正在运行的容器:
4-4、使用容器
通过客户端进行测试:
成功连接redis服务:
4-5、创建并启动容器
docker create创建了容器,然后通过docker start来启动容器,其实这种做法并不常用。可以直接使用docker run来创建并启动容器:
docker run -p 16380:6379 --name redis2 redis:3.0
注意:此命令会在前台运行redis2容器。当按下Control + C时,该容器将停止。
为了让容器在后台运行,需要添加参数 -d。
docker run -p 16380:6379 -d --name redis3 redis:3.0
4-6、停止容器
停止容器有2种方式:
- 1、docker stop 容器名或容器ID
- 2、docker kill 容器名或容器ID
4-7、删除容器
通过命令docker rm删除容器,删除正在运行的容器添加 -f 参数。
docker rm 容器名或容器id
4-8、进入容器
有些时候我们需要进入容器内,做一些操作,比如,修改配置文件等。进入容器,通过命令docker exec完成。
docker exec -it redis /bin/bash
参数解释:
- -i:打开容器的标准输入
- -t:分配一个伪终端
4-9、查看日志
使用docker logs -f 容器名或容器ID来查看
docker logs -f redis