Docker基础语法

news2024/12/23 17:18:52

目录

一.docker安装

二.docker基础名词

三.docker基础命令

四.命令别名

五.数据卷

六.挂载本地目录或文件

七.Docker镜像

八.网络


一.docker安装


1.安装yum工具
yum install -y yum-utils device-mapper-persistent-data lvm2


2.安装 docker  yum源
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo


3.安装docker
yum install docker-ce


4.启动docker
systemctl start docker


5.查看docker状态
systemctl status docker


6.开机启动
systemctl enable docker


二.docker基础名词


镜像:应用及其运行所需要的环境、配置、系统级函数库


容器:docker会在运行镜像时创建一个隔离外界的环境


镜像仓库:提供存储、管理Docker镜像的服务器


三.docker基础命令
 

docker运行命令:

docker run -d \   创建并运行一个容器,-d则是让容器以后台进程运行

--name mysql \    给容器起个名字叫mysql 注:取容器名时,最好不要与镜像名重复

-p 3306:3306 \    设置端口映射   :给端口时前面的端口与后面的端口最好不同              

-e TZ=Asia/Shanghai \  配置容器内进程运行时的一些参数

-e MYSQL_ROOT_PASSWORD=123 \

mysql  设置镜像名称

对-p参数的解释:

 -p 宿主机端口:容器内端口,示例中就是将宿主机的3306映射到容器内的3306端口

常见基本命令:

用一副图来表示这些命令的关系:

四.命令别名

1.修改/.bashrc文件

vi ~/.bashrc

2.添加别名

alias dps='docker ps --format "table {{.ID}}\t{{.Image}}\t{{.Ports}}\t{{.Status}}\t{{.Names}}"'

3.使别名生效

source /root/.bashrc

五.数据卷

数据卷:是一个虚拟目录,是容器内目录宿主机目录之间映射的桥梁

数据卷将宿主机和Nginx容器关联:

在上图中:

  • 我们创建了两个数据卷:confhtml

  • Nginx容器内部的conf目录和html目录分别与两个数据卷关联。

  • 而数据卷conf和html分别指向了宿主机的/var/lib/docker/volumes/conf/_data目录和/var/lib/docker/volumes/html/_data目录

这样以来,容器内的confhtml目录就 与宿主机的confhtml目录关联起来,我们称为挂载。此时,我们操作宿主机的/var/lib/docker/volumes/html/_data就是在操作容器内的/usr/share/nginx/html/_data目录。只要我们将静态资源放入宿主机对应目录,就可以被Nginx代理了

数据卷的相关命令有:

注意:容器与数据卷的挂载要在创建容器时配置,而且创建容器的过程中,数据卷会自动创建

nginx的html目录挂载:          

docker run -d --name nginx -p 80:80 -v html:/usr/share/nginx/html nginx

                                                             数据卷            挂载点

六.挂载本地目录或文件

语法:-v 本地目录:容器内目录或文件

mysql容器本地目录挂载:

  • 挂载/root/mysql/data到容器内的/var/lib/mysql目录

  • 挂载/root/mysql/init到容器内的/docker-entrypoint-initdb.d目录(初始化的SQL脚本录)

  • 挂载/root/mysql/conf到容器内的/etc/mysql/conf.d目录(这个是MySQL配置文件目录)


   

 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

七.Docker镜像

镜像:应用程序、程序运行的系统函数库、运行配置等文件的文件包

 

镜像结构图:

Dockerfile:一个文本文件, 其中包含一个个的指令(Instruction),用指令来说明要执行什么操作来构建镜像。将来Docker可以根据Dockerfile帮我们构建镜像。

常见指令:

八.网络

常见命令:

# 1.首先通过命令创建一个网络
docker network create hmall

# 2.然后查看网络
docker network ls


# 3.让dd和mysql都加入该网络
#网络内的容器可以用容器名互相访问!
# 3.1.mysql容器
docker network connect hmall mysql 

# 3.2.db容器,也就是我们的java项目
docker network connect hmall dd


# 4.进入容器
docker exec -it dd bash

# 5.用容器名访问
ping mysql
            PING mysql (172.18.0.2) 56(84) bytes of data.
            64 bytes from mysql.hmall (172.18.0.2): icmp_seq=1 ttl=64 time=0.044 ms
            64 bytes from mysql.hmall (172.18.0.2): icmp_seq=2 ttl=64 time=0.054 ms

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1403168.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Git的安装与配置

目录 前言 Linux-centos:下安装 Linux_ubuntu下安装 创建Git本地仓库 配置用户名和Email 前言 Git是一种版本控制器,能够让我们了解一个文件的历史,以及它的发展过程。通俗的将就是可以记录一个工程的每一次改动和版本迭代的一个管理系统…

书法AI全自动切字+识别算法2.0版发布,草书篆书行书楷书识别准确率超过90%,覆盖书法单字30万张

我们开发的业界识别最准覆盖作品最全的书法AI小程序上线了 书法AI全自动切字识别算法2.0版发布,草书篆书行书楷书识别准确率超过90%,准确率甩百度OCR一条街,覆盖书法单字30万张,遥遥领先同行 我们还可为客户提供书法AI全自动切字a…

Tensorflow2.0笔记 - tensor的合并和分割

主要记录concat,stack,unstack和split相关操作的作用 import tensorflow as tf import numpy as nptf.__version__#concat对某个维度进行连接 #假设下面的tensor0和tensor1分别表示4个班级35名同学的8门成绩和两个班级35个同学8门成绩 tensor0 tf.ones([4,35,8]) tensor1 tf…

C#,入门教程(30)——扎好程序的笼子,错误处理 try catch

上一篇: C#,入门教程(29)——修饰词静态(static)的用法详解https://blog.csdn.net/beijinghorn/article/details/124683349 程序员语录:凡程序必有错,凡有错未必改! 程序出错的原因千千万&…

基于PSO-BP神经网络的风电功率预测(MATLAB)

作品简介 :关注公众号“电击小子程高兴的MATLAB小屋”获取优惠 主要内容 该模型将粒子群算法与BP神经网络结合用于BP神经网络的训练,即优化BP网络中的连接权值和各项阈值,然后利用神经网络分布式并行处理优势、自适应学习能力以及较好的…

坚持刷题 | 二叉树的最大深度

文章目录 题目考察点代码实现实现总结扩展用迭代的方式实现二叉树最大深度可能的扩展问题 坚持刷题,老年痴呆追不上我,今天刷:二叉树的最大深度 题目 104.二叉树的最大深度 考察点 二叉树的基本实现: 能够定义二叉树节点&…

Apifox接口测试教程(一)接口测试的原理与工具

🔥 交流讨论:欢迎加入我们一起学习! 🔥 资源分享:耗时200小时精选的「软件测试」资料包 🔥 教程推荐:火遍全网的《软件测试》教程 📢欢迎点赞 👍 收藏 ⭐留言 &#x1…

性能优化-OpenCL 介绍

「发表于知乎专栏《移动端算法优化》」 本文首先对 GPU 进行了概述,然后着重地对移动端的 GPU 进行了分析,随后我们又详细地介绍了 OpenCL 的背景知识和 OpenCL 的四大编程模型。希望能帮助大家更好地进行移动端高性能代码的开发。 🎬个人简介…

git本地分支的合并/切换分支时遇到的问题

目录 第一章、本地分支的切换测试1.1)切换之前的master分支下文件内容1.2)切换到develop分支后修改文件1.3)切回master分支出现报错: 第二章、解决方式2.1)方式1:commit提交修改2.2)方式2&#…

柔性数组和C语言内存划分

柔性数组和C语言内存划分 1. 柔性数组1.1 柔性数组的特点:1.2 柔性数组的使用1.3 柔性数组的优势 2. 总结C/C中程序内存区域划分 1. 柔性数组 也许你从来没有听说过柔性数组(flexible array)这个概念,但是它确实是存在的。 C99 中&#xff…

解决Git添加.gitignore文件后不生效的问题

1. 问题描述 如上图所示,在已存在.gitignore文件且已经提交过的Git管理的项目中,其中.class、.jar文件以及.idea目录内的内容全部都还是被Git管理了,可见.gitignore文件并没有生效。 2. 原因发现 .gitignore文件只能作用于 Untracked Files…

vue+elementUI el-select 中 没有加clearable出现一个或者多个×清除图标问题

1、现象:下方截图多清除图标了 2、在全局common.scss文件中加一个下方的全局样式noClear 3、在多清除图标的组件上层div加noClear样式 4、清除图标去除成功

iOS应用程序混淆加固原理及逆向工具介绍

概要 本文将介绍iOS应用程序混淆加固的原理和常见的加固类型,以及介绍一些常用的逆向工具。同时还会介绍一种代码虚拟化技术,用于进一步保护应用程序不被逆向分析。 引言 移动应用程序开发面临着越来越严峻的安全挑战,特别是在越狱设备上…

k8s1.27.2版本二进制高可用集群部署

文章目录 环境软件版本服务器系统初始化设置关于etcd签名证书etcd集群部署负载均衡器组件安装设置关于k8s自签证书自签CAkube-apiserver 自签证书kube-controller-manager自签证书kube-scheduler自签证书kube-proxy 自签证书admin 自签证书 控制平面节点组件部署**部署kube-api…

Uni-App三甲医院、医保定点三甲医院在线预约挂号系统源码

医院在线预约挂号系统是一种方便患者预约挂号的系统,患者可以通过该系统进行预约挂号,省去了到医院现场排队等待的时间,提高了就诊效率。随着医院信息化水平的不断发展,医院在线预约挂号管理系统已成为医院管理中不可或缺的一部分…

如何在Linux部署JumpServer堡垒机并实现远程访问本地服务

文章目录 前言1. 安装Jump server2. 本地访问jump server3. 安装 cpolar内网穿透软件4. 配置Jump server公网访问地址5. 公网远程访问Jump server6. 固定Jump server公网地址 前言 JumpServer 是广受欢迎的开源堡垒机,是符合 4A 规范的专业运维安全审计系统。JumpS…

KAGGLE · GETTING STARTED CODE COMPETITION 图像风格迁移 示例代码阅读

本博文阅读的代码来自于I’m Something of a Painter Myself | Kaggle倾情推荐: Monet CycleGAN Tutorial | Kaggle 数据集说明 I’m Something of a Painter Myself | Kaggle Files monet_jpg - 300 Monet paintings sized 256x256 in JPEG formatmonet_tfrec -…

Redis相关面试题大全

📕作者简介: 过去日记,致力于Java、GoLang,Rust等多种编程语言,热爱技术,喜欢游戏的博主。 📗本文收录于java面试题系列,大家有兴趣的可以看一看 📘相关专栏Rust初阶教程、go语言基…

如何快速制作动态gif图?制作gif动图就这么简单

静图和动图是图像的两种不同形式。静图是一张静止不动的图片,没有任何动作或变化。而动图则是由一系列静止的图像组成,通过快速连续播放这些图像,可以形成看起来像是有动作的效果。简单来说,静图是静止的,而动图是具有…

Copilot安装和使用最全教程

背景 Copilot 是一款由 GitHub 和 OpenAI 合作开发的代码辅助工具。它基于 OpenAI 的大型语言模型 GPT-3.5,专为帮助软件开发者提升编程效率而设计 Copilot的主要功能是通过理解用户输入的代码注释或部分代码片段、自动生成或补全代码,本文主要介绍copi…