Docker的基本使用与配置

Docker的基本使用与配置

Linux (虚拟机)环境存在问题:
环境安装的应用程序(redis,mysql)由于依赖jar包 ,函数库都放在了同一个依赖库,会造成冲突

Docker : 快速交付应用、运行应用的技术
作用:将每个应用程序自己所依赖的jar包,函数库,运行操作系统 进行打包变成镜像文件,运行形成容器,互相隔离。

区别:
Docker 是一个应用程序、进程;虚拟机是一个操作系统
Docker 依赖库,函数库 放在镜像文件或者容器内,互相隔离;虚拟机放同一个目录

一、CentOS安装Docker

1.1卸载(可选)

如果之前安装过旧版本的Docker,可以使用下面命令卸载:

yum remove docker \
                  docker-client \
                  docker-client-latest \
                  docker-common \
                  docker-latest \
                  docker-latest-logrotate \
                  docker-logrotate \
                  docker-selinux \
                  docker-engine-selinux \
                  docker-engine \
                  docker-ce

1.2安装docker

首先需要虚拟机联网,安装yum工具

yum install -y yum-utils \
           device-mapper-persistent-data \
           lvm2 --skip-broken

然后更新本地镜像源:

# 设置docker镜像源
yum-config-manager \
    --add-repo \
    https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
    
sed -i 's/download.docker.com/mirrors.aliyun.com\/docker-ce/g' /etc/yum.repos.d/docker-ce.repo

yum makecache fast

然后输入命令:

yum install -y docker-ce

docker-ce为社区免费版本。稍等片刻,docker即可安装成功。

1.3启动docker

Docker应用需要用到各种端口,逐一去修改防火墙设置。

# 关闭
systemctl stop firewalld
# 禁止开机启动防火墙
systemctl disable firewalld

常用命令:

systemctl start docker  # 启动docker服务

systemctl stop docker  # 停止docker服务

systemctl restart docker  # 重启docker服务

docker -v #查看docker版本

1.4配置镜像加速

docker官方镜像仓库网速较差,需要设置国内镜像服务:

CentOS配置:

sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["https://9rj7u25l.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker

https://cr.console.aliyun.com/cn-hangzhou/instances/mirrors


命令集合

Docker镜像文件相关指令

docker pull nginx:latest #拉取镜像文件
docker images #查看所有镜像文件
docker rmi nginx:latest #删除镜像
docker save -o nginx.tar nginx:latest #将镜像文件导出到虚拟机当前目录
docker load -i nginx.tar#加载压缩包到docker变成镜像文件

Docker容器相关指令

docker run --name ng -p 80:80 -d nginx:latest #运行镜像文件生成容器
命令解读:
docker run #创建并运行一个容器
--name #给容器起一个名字
-p #将宿主机端口与容器端口映射,冒号左侧是宿主机端口,右侧是容器端口
-d #后台运行容器
nginx:latest #镜像名称:版本

docker ps #查看正在运行的容器
docker ps -a #查看所有容器(不运行的和运行)
docker stop ng #停止容器运行
docker start ng #运行容器运行
docker rm(-f) n #删除(强制删除)容器
docker logs(-f)  ng #查看(持续)容器的日志

docker exec -it ng bash #进入容器内部
命令解读:
docker exec #进入容器内部,执行一个命令
-it :#给当前进入的容器创建一个标准输入、输出终端,允许我们与容器交互
ng #要进入的容器的名称
bash #进入容器后执行的命令,bash是一个linux终端交互命令

数据卷相关的指令

docker volume create html #创建数据卷
docker volume ls #查看所有数据卷
docker volume inspect html #查看数据卷详细信息,包括关联的宿主机目录位置
docker volume rm html #删除指定数据卷
docker volume prune #删除所有未使用的数据卷

创建容器并进行数据卷的挂载:
docker run --name ng -v html:/usr/share/nginx/html -p 80:80 -d nginx
备注:不用创建数据卷,创建容器时会自动创建

Mysql 数据卷挂载:
docker run \
 --name mysql \
 -e MYSQL_ROOT_PASSWORD=123456 \
 -p 3307:3306 \
 -v /tmp/mysql/data:/var/lib/mysql \
 -v /tmp/mysql/log:/var/log/mysql \
 -v /tmp/mysql/conf/hmy.cnf:/etc/mysql/conf.d/my.cnf \
 -d mysql:5.7.25

Dockerfile :
就是一个文本文件,其中包含一个个的指令(Instruction),用指令来说明要执行什么操作来构建镜像
Docker build

DockerCompose:
文件是一个文本文件,通过指令定义集群中的每个容器如何运行

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值