【Docker】容器

目录

[1. 容器启动](#1. 容器启动)

[2. 容器启动/重启/停止](#2. 容器启动/重启/停止)

[3. 进入容器](#3. 进入容器)

[4. 容器查询](#4. 容器查询)

[5. docker 镜像的构建](#5. docker 镜像的构建)

[方式一:docker 容器 commit](#方式一:docker 容器 commit)

[方式二:Dockerfile 定制镜像](#方式二:Dockerfile 定制镜像)


1. 容器启动

复制代码
docker run --it/-d --p/P --name imageID/name

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

bash 复制代码
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 "[email protected]"
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地址访问)

相关推荐
家庭云计算专家4 分钟前
飞牛云一键设置动态域名+ipv6内网直通访问内网的ssh服务-家庭云计算专家
运维·云计算·ssh·nextcloud·ddns·动态域名解析
藥瓿锻17 分钟前
2024 CKA题库+详尽解析| 15、备份还原Etcd
linux·运维·数据库·docker·容器·kubernetes·cka
bbsh209926 分钟前
WebFuture:Ubuntu 系统上在线安装.NET Core 8 的步骤
linux·ubuntu·.netcore·webfuture
太阳之神aboluo33 分钟前
压测软件-Jmeter
java·运维·jmeter
ZZZKKKRTSAE35 分钟前
快速上手Linux全局搜索正则表达式(grep)
linux·服务器·正则表达式
waving-black2 小时前
利用frp和腾讯云服务器将内网暴露至外网(内网穿透)
linux·服务器·腾讯云·frp·内网穿透
stormsha2 小时前
Linux中su与sudo命令的区别:权限管理的关键差异解析
linux·运维·服务器·鸿蒙系统·ux·batch命令
新加坡内哥谈技术2 小时前
Meta计划借助AI实现广告创作全自动化
运维·人工智能·自动化
zyjyyds1132 小时前
win11系统 Docker Desktop 突然提示Docker Engine stopped解决情况之一
运维·docker·容器
Altairr2 小时前
Docker基础(一)
运维·docker·容器·eureka