一、好处
解决运行环境和配置问题的容器。一次封装,处处运行。
二、基础概念
docker三要素:镜像、容器、仓库。
镜像:好比一个模板,相当于java的类。可以通过镜像创建容器(提供服务)
容器:通过镜像来创建,独立运行一个或一组应用
仓库:存放容器的地方。分为共有、私有
三、安装(Linux环境下)
3.1环境检查
centos7 、linux内核 3.10以上
#查看linux内核版本
uname -r
#查看centos版本
cat /etc/os-release
3.2安装docker
#卸载旧版本
yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine
#安装依赖包
yum install -y yum-utils
#设置仓库地址
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
#更新yum软件索引
yum makecache fast
#安装docker
yum install docker-ce docker-ce-cli containerd.io
#启动docker
systemctl start docker
#查看是否安装成功
docker version
3.3阿里云镜像加速
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://bsne6wy9.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
四、docker有关常用命令
4.1docker服务
systemctl start docker #启动
systemctl status docker #查看状态
systemctl stop docker #停止
systemctl enable docker #开机启动
4.2docker镜像
docker 命令 --help #帮助指令
docker images #查看本地镜像 -a 查看所有镜像 -q 查看镜像id
docker search xxx #搜索镜像
docker pull xxx #下载镜像(不指定版本号时默认拉取最新的)
docker pull xxx:5.0 #下载指定版本镜像
docker rmi 镜像id #删除指定镜像
docker rmi 镜像:版本 #删除指定镜像
docker镜像列表内容解读
#仓库源 #版本 #id #创建时间 #大小
REPOSITORY TAG IMAGE ID CREATED SIZE
ubuntu 14.04 90d5884b1ee0 5 days ago 188 MB
php 5.6 f40e9e0f10c8 9 days ago 444.8 MB
nginx latest 6f8d099c3adc 12 days ago 182.7 MB
4.3docker容器
#有了镜像才可以创建 容器。
docker run -it --name=c1 redis:latest /bin/bash #创建容器并运行
# run :创建容器
# -i:一直运行
# -t:打开终端
# -p:主机端口映射容器端口
# name:名字
# redis:latest 指定镜像名称、版本
docker run -id --name=c1 redis:latest #创建容器在后台一直运行,需要使用 docker exec进入容器(不会直接进入终端,使用exit退出还是可以看见容器)
exit 退出容器
docker ps #查看运行的容器(如果使用了 exit 会看不见,因为已经退出)
docker ps -a #查看所有容器
docker stop 容器名字 #关闭容器
docker start xxx # xxx可以是id,名字
docker rm #容器名字 删除容器
docker ps -aq #查看所有容器、id
docker rm `docker ps -aq` #删除所有容器(正在运行的容器不能删除)
docker inspect 容器名字 #查看容器信息
docker cp xxx yyy # docker cp 复制内容 ,复制xxx到yyy
docker logs xxx #显示所有日志 xxx可以是容器名,id
docker logs --tail 5 #显示最后5行日志