卸载旧版docker
yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine
配置docker的yum库
安装一个yum库
yum install -y yum-utils
配置yum源
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
安装docker
yum install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
启动校验
# 启动Docker
systemctl start docker
# 停止Docker
systemctl stop docker
# 重启
systemctl restart docker
# 设置开机自启
systemctl enable docker
# 执行docker ps命令,如果不报错,说明安装启动成功
docker ps
配置镜像加速
在阿里云开通账号并得到镜像服务,容器镜像服务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 -v 查看版本
docker images 查看docker镜像
部署mysql
docker run -d \
--name mysql \
-p 3306:3306 \
-e TZ=Asia/Shanghai \
-e MYSQL_ROOT_PASSWORD=123 \
mysql
docker下载应用镜像,不仅包含本身,还包括应用所需的环境,配置,系统函数库,镜像会运行镜像时候创建一个隔离环境称为容器。
镜像仓库:存储和管理镜像的平台,dockerhub是这个网站
docker run:创建并运行一个容器,-d是让容器在后台运行。
--name:给容器起一个名字,名字必须唯一。
-p 3306:3306:设置端口映射。
-e:是环境变量,KEY=VALUE。
可以用mysql图形化软件连接虚拟机mysql,主机填虚拟机ip,用户填root,密码填虚拟机数据库的密码。
常见命令
docker pull nginx拉取nginx
docker save -help可以打开帮助页面
docker save -o nginx.tar nginx:latest
docker load -i nginx.tar是再次把本地保存的包拉回来
启动nginx:docker run -d --name nginx -p 80:80 nginx(镜像名字)
docker exec -it mysql bash此指令是进入容器内部
docker rm mysql删除容器
docker re mysql -f强制删除
自定义命令
vi ~/.bashrc
进入文件之后
alias VALUE='KEY'
退出文件后输入source ~/.bashrc生效
数据卷
修改nginx的html文件
先docker exec -it nginx bash 进入文件
cd /usr/share/nginx/html
vi index.html但是会说没有vi命令,是因为容器内都是最简系统,所以修改起来特别不方便
所以需要用到数据卷:是一个虚拟目录,容器内目录与宿主机目录之间的桥梁
docker volum --help是产生帮助命令
docker run -d --name nginx -p 80:80 -v html:/usr/share/nginx/html nginx
本地目录挂载
mysql自己会挂载数据卷,是因为怕后期数据增加,避免迁移麻烦挂载,名字是自己生成的,这种称为匿名卷
自定义镜像
镜像包含了应用程序,程序运行的系统函数库,运行配置等文件的文件包。构造镜像就是把上述文件打成包的过程。
每个小文件打成数个小包,是分层简化。
网络
docker run -d --name dd -p 8080:8080 --network (加入的网络名字) docker-demo