Docker相对于传统虚拟机具有更轻量、更快速、更灵活、更高效的优势。比传统的部署模式更便捷。作为开发工程师,入门只需要了解其部署方式,优化开发环境部署效率。
1. 添加Docker仓库
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
2. 安装Docker
yum install docker-ce docker-ce-cli containerd.io
# 启动docker
systemctl enable docker
systemctl start docker
# 查看docker版本
docker --version
# 查看是否启动成功
rpm -qa | grep docker
3. 配置国内源
#docker 设置国内镜像源.创建或修改`vi /etc/docker/daemon.json` 文件,修改为如下形式
{
"registry-mirrors": [
"https://4sjn347i.mirror.aliyuncs.com",
"https://docker.mirrors.ustc.edu.cn"
],
"max-concurrent-downloads": 10,
"insecure-registries": [],
"debug": true,
"experimental": false,
"features": {
"buildkit": true
}
}
4. 案例学习(NGINX)
-
拉取 Nginx 镜像:
docker pull nginx
-
启动 Nginx 容器:
docker run --name mynginx -d -p 8080:80 nginx
这个命令会启动一个名为
mynginx
的容器,并将容器的 80 端口映射到宿主机的 8080 端口。 -
访问 Nginx 欢迎页面:
你可以通过浏览器或者 curl 工具访问 http://localhost:8080 来查看 Nginx 的欢迎页面。
-
停止 Nginx 容器:
docker stop mynginx
-
重新启动 Nginx 容器:
docker start mynginx
5. Docker维护
# 查看运行中的容器
docker ps -a
# 停止运行中的容器
docker stop prometheus
# 查看docker的信息
docker info
# 搜索名为img_name的镜像
docker search img_name
# 将名为img_name的镜像下载到本地
docker pull img_name
# 查看本地已有的镜像
docker images
# 删除名为img_name的镜像
docker rmi img_name
# 列出正在运行的容器
docker ps
# 列出所有的容器
docker ps -a
# 使用img_name以交互模式在后台运行分配了伪终端的名为container_name的镜像
docker run -itd --name=container_name img_name
# 通过容器名字或ID启动容器
docker start container_name/container_id
# 通过容器名字或ID停止容器
docker stop container_name/container_id
# 通过容器名字或ID重启容器
docker restart container_name/container_id
# 通过容器名字或ID删除容器
docker rm container_name/container_id
# 通过容器名字或ID进入容器
docker exec -it id /bin/bash
# 退出容器
exit
# 查看报错日志
docker logs 34d9cdf91e46
# 通过查看容器日志,确定是什么问题,docker logs -f -t --tail 行数 容器名
docker logs -f -t --tail 100 <containerID>
# 将容器中导致错误的文件拷贝到宿主机上
docker cp containerID:container_path host_path
# 修改拷贝出来的配置文件, 再将配置文件拷贝回去容器
docker cp host_path containerID:container_path
# 再次启动容器
docker start containerID
# 进入容器命令
docker exec -it 44fc0f0582d9 /bin/bash
6. 任务之外
1、简单:请搜索资料完成MySQL的单机版部署,搜索关键词CentOS7环境Docker安装MySQL5.6
2、困难:安装Redis数据库6节点集群,三主三从模式。