docker入门

目录

docker入门

一:docker安装

10分钟学会Docker的安装和使用_docker安装-CSDN博客

参考博客

二:使用docker部署mysql

PowerShell 复制代码
docker run -d \
  --name mysql \
  -p 3306:3306 \
  -e TZ=Asia/Shanghai \
  -e MYSQL_ROOT_PASSWORD=123 \
  mysql

只需要执行这一个命令就能部署好mysql,不需要你再配置,直接能运行

直接连接就能使用;

为什么下载完只会能直接使用呢:

基础命令解读:

PowerShell 复制代码
docker run -d \
  --name mysql \
  -p 3306:3306 \
  -e TZ=Asia/Shanghai \
  -e MYSQL_ROOT_PASSWORD=123 \
  mysql

docker run:下载并运行;-d:在后台运行;--name:为镜像起名;-p:进行端口号的映射,冒号前的是主机的端口号,冒号后的是容器内应用的端口号,一般来说冒号后的端口号是固定,冒号前必须要不同;

-e:是配置环境变量:具体配啥可以查看官方镜像库;

最后的mysql就是镜像名,其实有两部分组成,一部分是镜像名,一部分是镜像的版本;

二:docker常见命令

先去官网查看镜像名:

然后我们直接输入命令拉去镜像:

docker pull nginx

然后使用命令去查看镜像:

docker images

我们可以将镜像保存下来:

docker save -o ngnix.tar nginx:latest

然后我们可以将镜像删除:

docker rmi nginx:latest

再通过我们保存的镜像下载回来:

docker load -i ngnix.tar

最后再查看镜像:

docker images

然后我们使用命令来下载并运行容器:

docker run -d --name nginx -p 81:80 nginx

然后再查看容器的状态:

docker ps

使用命令停止容器运行:

使用命令可以进入容器的内部(容器内部就是一个独立的系统):

docker exec -it ngnix

三:数据卷挂载

我们要对容器里的文件进行修改,而一般容器中没有编辑器,我们无法进行修改,我们可以在docker的数据卷中创建数据卷,宿主机中就自动会生成对应的文件,而这些数据卷的文件和容器中的是双向绑定的,我们在宿主机中修改,也会在容器中生效。

数据卷的常见命令:

进行数据卷的挂载必须在容器创建时挂载,创建后是无法进行挂载的;

挂载那个目录可以根据官方文档说明:以ngnix为例:

创建完成后可以使用命令查看数据卷的列表:

docker volume ls

使用命令查看具体挂载到哪个目录了:

docker volume inspect html

本地目录的挂载:

我们可以自己指定挂载的目录,在创建容器的时候-v 本地目录:容器内目录

注意我们之前冒号前是数据卷的名字现在是目录,为了分别开,就必须以"/'或"./"开头;

docker run -d \
--name mysql \
-p 3306:3306 \
-e TZ=Asia/Shanghai \
-e MYSQL_ROOT_PASSWORD=123 \
-v ./mysql/data:/var/lib/mysql \
-v ./mysql/conf:/etc/mysql/conf.d \
-v ./mysql/init:/docker-entrypoint-initdb.d \
mysql

通过这些指令将容器内的目录挂载到指定目录;

挂载了之后即使删除了容器只要下一个容器还是挂载同一个目录那么数据就还在

四:自定义镜像

1:dockerfile语法

怎么打包成镜像:首先将jar包和dockerfile放在一个目录内,然后执行命令:

docker build -t docker.demo .

然后就变成本地的镜像了,我们可以创建容器让他运行:

docker run -d --name dd -p 8080:8080 docker.demo

就行了

2:容器网络互联

)

自定义网桥:

使用docker network create 【网桥名】创建

使用 docker network connect 【网桥名】 【容器名 】

然后就能连接上:可以使用

docker inspect 【容器名】来查看网桥状况;

五:dockerCompose

我们只需要将dockercompose文件执行就行了:

然后就能连接上:可以使用

docker inspect 【容器名】来查看网桥状况;

相关推荐
大耳朵-小飞象8 小时前
电力安全运维的智能密码:BACS如何破解设备全生命周期管理难题,让电网安全“看得见、管得住”?
运维·安全·智慧城市·能耗系统·楼宇智控·未来生活
极客侃科技8 小时前
制造企业 MES/APS 选型:SAP PP/DS 集成、ERP-MES 边界划分与一体化架构要点
运维·架构·制造
生活爱好者!11 小时前
我把NAS当作下载机,docker一键部署qb
运维·docker·容器
java_logo12 小时前
Docker Compose 部署 ClickHouse:快速搭建高性能列式数据库
数据库·clickhouse·docker·列式数据库·轩辕镜像·高性能数据库·clickhouse部署教程
MC皮蛋侠客12 小时前
uv 系列(七):CI/CD、Docker 与私有索引——生产级交付
python·ci/cd·docker·uv
尽兴-13 小时前
企业业务系统架构选型与渐进式演进
运维·系统架构·devops
Hui Baby13 小时前
K8S使用CRD和控制器简单应用
云原生·容器·kubernetes
通信小小昕13 小时前
Ubuntu 26.04 中文输入法安装
linux·运维·ubuntu
壮哥_icon14 小时前
【Android 系统开发】使用 BAT 脚本高效自动化管理 /system/priv-app/ 系统应用(安装与卸载)
android·运维·自动化
RD_daoyi14 小时前
外链权重暴跌至13%,品牌提及反超传统链接——2026年不做Digital PR,你的独立站等于隐形
运维·网络·学习·机器学习·搜索引擎