Docker基本配置及使用

Docker基本配置及使用


使用步骤

1.卸载旧版

代码如下:首先如果系统中已经存在旧的Docker,则先卸载

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

2.配置Docker的yum库

代码如下:首先要安装一个yum工具

yum install -y yum-utils

安装成功后,执行命令,配置Docker的yum源:

yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

3.安装Docker

代码如下:最后,执行命令,安装Docker

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

4.启动和校验

代码如下:

# 启动Docker
systemctl start docker

# 停止Docker
systemctl stop docker

# 重启
systemctl restart docker

# 设置开机自启
systemctl enable docker

# 执行docker ps命令,如果不报错,说明安装启动成功
docker ps

5.部署MySQL

代码如下:


docker run -d \
--name mysql \
-p 3306:3306 \
-e TZ=Asia/Shanghai \
-e MYSQL_ROOT_PASSWORD=123456\
mysql

docker run: 运行一个容器。
-d: 在后台运行容器。
–name mysql: 指定容器的名称为 “mysql”。
-p 3306:3306: 将主机的 3306 端口映射到容器的 3306 端口,这样可以从主机访问容器中运行的 MySQL 服务。
-e TZ=Asia/Shanghai: 设置容器的时区为亚洲/上海,即中国的时区。
-e MYSQL_ROOT_PASSWORD=123456: 设置 MySQL 的 root 用户的密码为 “123456”。
mysql: 指定要运行的镜像为 MySQL。


6.常见命令

docker pull  #拉取镜像
docker push #推送镜像到
docker images #查看本地镜像 
docker rmi #删除本地镜像
docker run #创建并运⾏容器(不能重复创建) 
docker stop #停⽌指定容器 
docker start #启动指定容器 
docker restart #重新启动容器
docker rm #删除指定容器
docker ps #查看容器
docker logs #查看容器运⾏⽇志 
docker exec #进⼊容器 
docker save #保存镜像到本地压缩⽂件 
docker load #加载本地压缩⽂件到镜像 
docker inspect #查看容器详细信息 

7.数据卷

数据卷(Volume)是 Docker 中用于持久化数据的一种机制,它允许容器与宿主机或其他容器共享数据,并且数据会在容器之间持续存在,即使容器被删除也不会丢失。数据卷(volume)是⼀个虚拟⽬录,是容器内⽬录与宿主机⽬录之间映射的桥梁。在这里插入图片描述

数据卷命令

docker volume create #创建数据卷 
docker volume ls #查看所有数据卷 
docker volume rm #删除指定数据卷
docker volume inspect #查看某个数据卷的详情
docker volume prune #清除数据卷 

# 1.⾸先创建容器并指定数据卷,注意通过 -v 参数来指定数据卷
docker run -d --name nginx -p 80:80 -v html:/usr/share/nginx/html nginx
# 2.然后查看数据卷
docker volume ls
# 结果
DRIVER VOLUME NAME
local 29524ff09715d3688eae3f99803a2796558dbd00ca584a25a4bbc193ca82459f
local html
# 3.查看数据卷详情
docker volume inspect html
# 结果
[
{
"CreatedAt": "2024-05-17T19:57:08+08:00",
"Driver": "local",
"Labels": null,
"Mountpoint": "/var/lib/docker/volumes/html/_data",
"Name": "html",
"Options": null,
"Scope": "local"
}
]
# 4.查看/var/lib/docker/volumes/html/_data⽬录
ll /var/lib/docker/volumes/html/_data
# 可以看到与nginx的html⽬录内容⼀样,结果如下:
总⽤量 8
-rw-r--r--. 1 root root 497 314 2024 50x.html
-rw-r--r--. 1 root root 615 314 2024 index.html
# 5.进⼊该⽬录,并随意修改index.html内容
cd /var/lib/docker/volumes/html/_data
vi index.html
# 6.打开⻚⾯,查看效果
# 7.进⼊容器内部,查看/usr/share/nginx/html⽬录内的⽂件是否变化
docker exec -it nginx bash

8.挂载本地⽬录或⽂件

数据卷的⽬录结构较深,去操作数据卷⽬录会不太⽅便。在很多情况下,会直接将容器⽬录与宿主机指定⽬录挂载。挂载语法与数据卷类似:

# 挂载本地⽬录
-v 本地⽬录:容器内⽬录
# 挂载本地⽂件
-v 本地⽂件:容器内⽂件

本地⽬录或⽂件必须以 / 或 ./ 开头,如果直接以名字开头,会被识别为数据卷名⽽⾮本地
⽬录名。

-v mysql:/var/lib/mysql # 会被识别为⼀个数据卷叫mysql,运⾏时会⾃动创建这个数据卷
-v ./mysql:/var/lib/mysql # 会被识别为当前⽬录下的mysql⽬录,运⾏时如果不存在会创建⽬录

相关推荐

  1. Gradle:安装、配置基础使用指南

    2024-03-16 15:44:02       43 阅读
  2. docker-compose】安装配置

    2024-03-16 15:44:02       33 阅读
  3. Docker介绍使用

    2024-03-16 15:44:02       25 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-03-16 15:44:02       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-03-16 15:44:02       100 阅读
  3. 在Django里面运行非项目文件

    2024-03-16 15:44:02       82 阅读
  4. Python语言-面向对象

    2024-03-16 15:44:02       91 阅读

热门阅读

  1. 力扣练习题

    2024-03-16 15:44:02       37 阅读
  2. Python中sys.stdin.readline()与input()的区别

    2024-03-16 15:44:02       47 阅读
  3. 服务器硬件基础知识

    2024-03-16 15:44:02       42 阅读
  4. 架构实战:海量存储系统与分布式概念解析

    2024-03-16 15:44:02       40 阅读
  5. 突破编程_C++_设计模式(解释器模式)

    2024-03-16 15:44:02       31 阅读
  6. 前端项目边界处理

    2024-03-16 15:44:02       46 阅读
  7. GPT & R 生态环境领域数据统计分析

    2024-03-16 15:44:02       38 阅读