Docker

概述

之前在Linux中安装软件,是直接安装在Linux操作系统中,软件和操作系统耦合度很高,不方便管理.因为Linux版本不同,环境也不同了.

是一种容器技术(软件),提供标准的应用镜像(包含应用+应用的依赖),我们就可以非常轻松的在docker中安装应用,每一个应用安装好后,就是一个独立的容器.

解决软件跨环境迁移的问题

主要功能:

打包:可以把软件以及软件依赖打包制作成一个镜像(安装包)

分发:把镜像上传到镜像仓库,方便别人获取和安装

部署:镜像可以一个命令使应用运行起来,不管在哪个系统,都可以自动模拟出一样的运行环境

docker安装

      1.安装yum配置工具

yum install -y yum-utils

      2.配置docker的yum源

yum-config-manager \ 

--add-repo \ 

https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo 

       3.安装

yum install -y docker-ce docker-ce-cli containerd.io docker-compose-plugin

       4.测试

docker -v

       5.启动常用命令

docker安装成功后并没有启动,
启动命令
systemctl start docker
关闭命令
systemctl stop docker
设置开机自动启动(必须)
systemctl enable docker

       6.卸载

1)停止服务

systemctl stop docker

2)卸载

yum remove docker-ce docker-ce-cli containerd.io docker-compose-plugin

3)删除文件

rm -rf /var/lib/docker
rm -rf /var/lib/containerd

docker配置镜像源

由于国外的镜像仓库目前不能访问,所以我们需要配置一个其他的镜像源地址

docker命令分为两大类:

1.镜像操作命令

从镜像仓库下载镜像到docker本地

docker pull
eg: docker pull mysql:8.0

查看本地镜像

docker images

删除本地镜像

docker rmi 镜像名/镜像id
eg: docker rmi mysql:8.0

从dockerfile构建镜像

从docker保存镜像到linux本地(需要保存到linux中那个目录,进入到指定目录执行保存命令),生成tar文件

docker save 镜像名 > 镜像名.tar
eg: docker save mysql > mysql.tar

从linux本地 加载镜像到docker中

docker load < 镜像名.tar
docker load  < mysql.tar

2.容器操作命令

通过镜像安装

docker run 镜像名

查看容器

docker ps -a

启动镜像

docker start 容器名

停止容器

docker stop 容器名

删除容器

docker rm 容器名

docker log 容器名

安装mysql

1.下载mysql镜像

在线下载

docker pull mysql:8.0

加载本地镜像

docker run -d -p 3306:3306 \
--name mysql \
--restart=always \
--privileged=true \
-e TZ=Asia/Shanghai \
-e MYSQL_ROOT_PASSWORD=root \
mysql:8.0

--name:指定容器名称

--restart=always 自动启动

--privileged=true 拥有特权

-p:指定端口映射

-d:让容器后台运行

进入到容器

docker exec -it 容器名/容器id bash
docker exec -it mysql bash

登录mysql

mysql -uroot -proot

修改root账号加密方式

ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'root';

退出

exit

数据卷挂载

容器是封闭的,与外界隔离的,如果需要操作容器内的内容不方便

创建mysql数据卷

mkdir -p /opt/mysql/data

安装

docker run -d -p 3306:3306 \
--name mysql \
--restart=always \
--privileged=true \
-e TZ=Asia/Shanghai \
-e MYSQL_ROOT_PASSWORD=root \
-v /opt/mysql/data:/var/lib/mysql \
mysql:8.0

安装nginx

拉取镜像

docker pull nginx:1.24

创建数据卷

mkdir -p /opt/nginx/html

安装命令

docker run -d -p 80:80 \
--name nginx \
--restart=always \
--privileged=true \
-v /opt/nginx/html:/usr/share/nginx/html \
nginx:1.24

访问

自己的ip:80
其中 -v /opt/nginx/html 就是与容器中对应的一个在宿主机中的数据卷
我们只需要将文件部署到宿主机的/opt/nginx/html目录下即可

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值