【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 "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地址访问)

相关推荐
奔跑的架构师16 分钟前
[A-50]ARMv9/v8-DVFS系统架构
linux·arm开发·架构·系统架构·arm
迷途呀24 分钟前
CI/CD 自动化部署实践:让代码提交后自动上线
linux·运维·nginx·ci/cd·自动化
闲云自留地31 分钟前
动手玩 Nova:Hypervisor、主机聚合、可用分区、虚拟机生命周期实操
运维·架构·openstack
赴生-1 小时前
Liunx 操作系统 进程概念(上)
linux
binqian1 小时前
【linux】OpenSSH升级文档
linux·运维·网络
吴声子夜歌1 小时前
Shell编程——if条件语句
linux·运维·shell
和裕1 小时前
蜂窝板 vs 七层瓦楞重型纸箱:大件工业设备运输性能与成本全对比
大数据·运维·网络·人工智能·算法
Dawn-bit2 小时前
Linux 运维基础扩展:跳板机、堡垒机与物理服务器全流程
linux·运维·服务器·云计算·运维开发
新时代牛马2 小时前
Linux 定时任务:crontab、anacron 与systemd timer
linux·运维·服务器
mounter6252 小时前
Linux 7.2 引入更灵活的块设备错误注入机制
linux·linux kernel·kernel·disk·error injection