【Docker】容器

目录

1. 容器启动

2. 容器启动/重启/停止

3. 进入容器

4. 容器查询

5. docker 镜像的构建

方式一:docker 容器 commit

方式二:Dockerfile 定制镜像


1. 容器启动

docker run –it/-d –p/P –name imageID/name

2. 容器启动/重启/停止

docker start
docker restart
docker stop

3. 进入容器

# 查看容器id
docker ps

# 容器ID:057572c53888
docker attach containerID 
docker exec -it containerID /bin/bash

4. 容器查询

docker inspect containerID

docker top containerID

docker diff containerID

5. docker 镜像的构建

方式一:docker 容器 commit

docker commit

  1、运行docker

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

2、进入容器的方法

# 方式1
docker attach webserver

        ctrl+p、q退出!!!!

# 方式2
docker exec -it webserver bash
docker exec -it 容器id bash -c “echo 
'<h1>Hello,I am your container.</h1>' > /usr/share/nginx/html/index.html”

3、提交docker

docker commit --author "szzz" --message "chang index" webserver nginx:v2

4、运行docker

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

5、查看历史记录

docker history nginx:v2

6、测试:http://192.168.9.10:81 (用该虚拟机的ip地址)

方式二:Dockerfile 定制镜像

确保 docker 主机可以上网 

docker build

Dockerfile 的编写方法

1、 网络确认

ping www.baidu.com

2、准备文件夹和 Dockerfile 文件

mkdir static_web # 创建文件夹cd static_web # 进入文件夹touch Dockerfile # 创建一个 Dockerfile 文件

3、编写 Dockerfile

vi Dockerfile 编辑文件,写入镜像代码

# Version: 0.0.1
FROM ubuntu:14.04
MAINTAINER James Turnbull "james@example.com"
RUN apt-get update && apt-get install -y nginx
RUN echo 'Hi, I am in your containe' > /usr/share/nginx/html/index.html
EXPOSE 80
CMD ["nginx", "-g", "daemon off;"]

4、构建镜像

docker build -t="jamur01/static_web" 

5、容器测试

docker run -itd --name test -p 8080:80 jamur01/static_web

http://192.168.9.10:8080 (根据自己的虚拟机ip地址访问) 

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

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

相关文章

Linux-笔记 全志T113移植正点4.3寸RGB屏幕笔记

目录 前言 线序整理 软件 显示调试 触摸调试 背光调试 前言 由于手头有一块4.3寸的RGB屏幕(触摸IC为GT1151)&#xff0c;正好开发板上也有40Pin的RGB接口&#xff0c;就想着给移植一下&#xff0c;前期准备工作主要是整理好线序&#xff0c;然后用转接板与杜邦线连接验证好…

一篇文章告诉你如何正确使用chatgpt提示词

在chatgpt大火的时候&#xff0c;出现了一波学习chatgpt提示词的热潮&#xff0c;互联网出现很多了使用的学习提示词的课程。其中我觉得斯坦福大学教授吴恩达博士推出prompt engineer课最全面。接下来总结他课程中正确使用提示词工程的方法。 1. 明确目标 明确你希望ChatGPT完…

vue3+ts:监听dom宽高变化函数

一、效果展示 二、代码 getSize.ts import { ref, Ref, watchEffect } from "vue";export const getWidth (domRef: Ref<HTMLElement | null>) > {const width ref<number>(0);const height ref<number>(0);const observer new ResizeObs…

Qt事件传递顺序是怎样的?

1、事件传递顺序规则 在Qt中&#xff0c;事件传递的顺序事件首先传递到目标对象的事件过滤器&#xff0c;然后传递到事件处理函数&#xff0c;最后传递到父对象的事件过滤器和事件处理函数。 为了更好地理解这一过程&#xff0c;下面将通过一个示例来展示事件在父窗口和子窗口…

`lupdate`、`linguist` 和 `lrelease` 是 Qt 中处理翻译的三个关键工具

lupdate、linguist 和 lrelease 是 Qt 中处理翻译的三个关键工具 lupdate、linguist 和 lrelease 是 Qt 中处理翻译的三个关键工具。以下是这些工具的具体使用方法及其流程: 1. lupdate lupdate 工具用于从源代码中提取翻译字符串并生成 .ts 文件。这个文件包含应用程序中的…

IOS Swift 从入门到精通:@escaping 和PreferenceKey

@escaping 在Swift中,@escaping是一个属性关键字,用于标记闭包参数。当一个闭包在函数返回之后才被调用时,这个闭包被称为逃逸闭包(Escaping Closure)。使用@escaping关键字可以告诉Swift编译器,传递给函数的闭包可能会在函数执行完毕后被调用,因此它需要“逃逸”函数的…

投票多功能小程序(ThinkPHP+Uniapp+FastAdmin)

&#x1f389;你的决策小助手&#xff01; 支持图文投票、自定义选手报名内容、自定义主题色、礼物功能(高级授权)、弹幕功能(高级授权)、会员发布、支持数据库私有化部署&#xff0c;Uniapp提供全部无加密源码。​ 一、引言&#xff1a;为什么我们需要多功能投票小程序&#…

小程序的基本使用

【 0 】前言 【 0 】 这个就是js代码的存放地方 app.json // pages/banner/banner.js Page({/*** 页面的初始数据*/data: {},/*** 生命周期函数--监听页面加载*/onLoad(options) {},/*** 生命周期函数--监听页面初次渲染完成*/onReady() {},/*** 生命周期函数--监听页面显示…

【安卓13 源码】RescueParty救援机制

RescueParty机制正是在这个背景下诞生的&#xff0c;当它注意到系统或系统核心组件陷入循环崩溃状态时&#xff0c;就会根据崩溃的程度执行不同的救援行动&#xff0c;以期望让设备恢复到正常使用的状态。 开机后会自动重启&#xff0c;进入Recovery界面。经查找&#xff0c;是…

代码随想录-Day39

62. 不同路径 一个机器人位于一个 m x n 网格的左上角 &#xff08;起始点在下图中标记为 “Start” &#xff09;。 机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角&#xff08;在下图中标记为 “Finish” &#xff09;。 问总共有多少条不同的路径&…

compare to 和 compare with 有什么区别?

“Compare to” 和 “compare with” 在使用上有些微小的区别。 Compare to 用于描述两个或多个不同种类的事物之间的类似之处&#xff0c;强调相似性和类比。例如&#xff1a;“她的声音像一阵清风&#xff0c;比作一把小提琴。” Compare with 则用于对比两个或多个同类事物…

COD论文笔记 TCSVT_2024 Finding_Camouflaged_Objects_Along_the_Camouflage_Mechanisms

动机 论文的动机是重新审视伪装物体检测&#xff08;COD&#xff09;任务&#xff0c;并从伪装机制的角度提出一种新的解码伪装的方法。传统的COD方法难以准确区分伪装物体和背景&#xff0c;因此作者提出通过借助显著物体检测&#xff08;SOD&#xff09;任务来实现解码伪装&…

线程安全问题(一)——锁的简单使用

多线程安全问题 线程安全问题的引入案例引入多线程指令排序问题 线程不安全的原因解决线程不安全的方法锁的引入上锁和解锁过程一个简单的锁Demo对这个案例进行几次修改 总结 线程安全问题的引入 在前面的博文中&#xff0c;我们了解到通过Thread.join()的方法让线程进入等待&…

RIPv1 和 RIPv2 区别

RIP (Routing Information Protocol&#xff0c;路由信息协议&#xff09; RIP 是一个比较早期的协议&#xff0c;在实际部署中较少使用&#xff0c;但 RIP 协议的机制是所有矢量跻由协议的基础&#xff0c;因此&#xff0c;掌握 RIP 协议的工作原理对研究矢量路由协议有重要的…

统信UOS系统忘记登录密码怎么办

在使用统信操作系统UOS的时候有可能会出现忘记密码的情况&#xff0c;当遇到了用户登录密码忘记时如何修改&#xff1f;今天分享一下忘记超级系统管理员Root以及普通密码时的解决方法。 因为UOS系统版本的原因&#xff0c;UOS 1031操作系统取消了单用户更改密码的方法&#xff…

jupyter notebook的markdown语法不起作用

在这个界面编辑&#xff0c;发现markdown你编辑的是什么就是什么&#xff0c;不起作用&#xff0c;然而点一下&#xff1a; 右上角“Notebook转发”&#xff0c;就会单独跳出一个jupyter notebook的界面&#xff0c;此时就会奏效&#xff1a;

如何把一个JAVA项目设置有效期,授权日期的方法

创建一个 config.properties expirationDateQJICbwa/nzypraK6MYp62LUC/fambI7G这个是QJICbwa/nzypraK6MYp62LUC/fambI7G加密后的日期&#xff08;这里指2024-12-31&#xff09; 然后在创建一个 LicenseManager import java.io.IOException; import java.io.InputStream; impo…

PostgreSQL与MySQL的区别探究

PostgreSQL 和 MySQL 是两种最受欢迎的开源关系型数据库管理系统&#xff08;RDBMS&#xff09;。它们在功能、性能、扩展性、安全性等方面都有显著的差异。以下是 PostgreSQL 和 MySQL 的一些关键区别&#xff1a; 1. 体系结构和设计理念 PostgreSQL 设计理念&#xff1a;Po…

27-29、redis优化(令牌主动失效机制)-controllert额外添加参数接收请求头、拦截器

1、SpringBoot集成redis <!--redis坐标--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-redis</artifactId></dependency> @SpringBootTest//如果在测试类上添加了这个注解,那么…

【CT】LeetCode手撕—72. 编辑距离

目录 题目1- 思路动规五部曲 2- 实现⭐72. 编辑距离——题解思路 3- ACM 实现 题目 原题连接&#xff1a;72. 编辑距离 1- 思路 模式识别&#xff1a;编辑举例 ——> 动态规划 动规五部曲 1.dp数组的含义 int[][] dp new int[word1.length()][word2.length()];以 i-1 …