Docker安装教程
官方网址: https://docs.docker.com/engine/install/centos/
中文网址:https://b11et3un53m.feishu.cn/wiki/Rfocw7ctXij2RBkShcucLZbrn2d
由于国内访问不到docker官方镜像
使用命令
sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
验证
使用命令:
docker -v 获得版本号(不代表成功)
Docker version 26.1.4, build 5650f9b
docker images
Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?
启动 docker
[root@localhost yum.repos.d]# systemctl start docker
[root@localhost yum.repos.d]# systemctl enable docker //设置开机自启
Created symlink from /etc/systemd/system/multi-user.target.wants/docker.service to /usr/lib/systemd/system/docker.service.
[root@localhost yum.repos.d]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
设置镜像加速
aliyun官网:aliyun.com
产品-》容器-》容器镜像服务ACR-》镜像工具-》镜像加速器
创建目录
mkdir -p /etc/docker
复制内容,注意把其中的镜像加速地址改成你自己的
tee /etc/docker/daemon.json <<-‘EOF’
{
“registry-mirrors”: [“https://xxxx.mirror.aliyuncs.com”]
}
EOF
重新加载配置
systemctl daemon-reload
重启Docker
systemctl restart docker
docker部署mysql
docker run -d --name mysql -p 3306:3306 -e TZ=Asia/Shanghai -e MYSQL_ROOT_PASSWORD=123456 mysql
docker run : 创建并运行一个容器,-d是让容器在后台运行
–name mysql: 给容器起一个名称,必须唯一
-p 3306:3306 : 宿主机端口映射到容器内端口
-e TZ=Asia/Shanghai -e MYSQL_ROOT_PASSWORD=123456 //设置环境变量
mysql 镜像名称结构,完整写法 Repository:TAG 例如: mysql:5.7
镜像和容器
当我们利用Docker安装应用时,Docker会自动搜索并下载应用镜像(image)。镜像不仅包含应用本身,还包含应用
运行所需要的环境、配置、系统函数库。Docker会在运行镜像时创建一个隔离环境,称为容器(container)。
镜像仓库:存储和管理镜像的平台,Docker官方维护了一个公共仓库:Docker Hub。
docker基础
常见命令
官方文档:https://docs.docker.com
数据卷
数据卷(volume)是一个虚拟目录,是容器内目录与宿主机目录之间映射的桥梁。
mkdir mysql
cd mysql
mkdir data
mkdir init
mkdir conf
docker run --name mysql -p 3306:3306 -e TZ=Asia/Shanghai -e MYSQL_ROOT_PASSWORD=123456 -v /root/mysql/data:/var/lib/mysql
-v /root/mysql/init:/docker-entrypoint-initdb.d -v /root/mysql/conf:/etc/mysql/conf.d mysql:latest
自定义镜像
镜像就是包含了应用文件、程序运行的系统函数库、运行配置等文件的文件包。构建镜像的过程其实就是把上述文件打包的过程。
部署一个Java应用的步骤:
- 准备一个Linux服务器
- 安装JRE并配置环境变量
- 拷贝Jar包
- 运行Jar包
构建一个Java镜像的步骤:
- 准备一个Linux运行环境
- 安装JRE并配置环境变量
- 拷贝Jar包
- 编写运行脚本
Dockerfile
官方文档:https://docs.docker.com/engine/reference/builder
网络
DockerCompose
Docker Compose通过一个单独的docker-compose.yml模板文件(YAML格式)来定义一组相关联的应用容器,帮助我们实现多个相互关联的Docker容器的快速部署。