Docker基本命令与使用 —— Docker容器(一)

一.容器的基本操作

1. 启动容器

docker run IMAGE [COMMAND] [ARG...]

run 在新容器中执行命令

eg: docker run ubuntu echo ‘Hello World‘

输出内容的同时,启动的容器已经停止,这是一个实行单次命令的容器

2. 启动交互式容器

docker run -i -t  IMAGE /bin/bash

-i --interactive=true|false 默认是false

-t --tty=true|false 默认是false

eg:

docker run -i -t ubuntu /bin/bash
ps -ef
exit(退出)

3.查看容器

docker ps [-a][-l] 默认显示正在运行中的容器

-a 列出所有的容器

-l 列出最新创建的容器

$ docker inspect [容器id/容器Name]

4.自定义容器名

docker run --name=自定义名 -i -t IMAGE /bin/bash

eg: docker run --name=container01 -i -t ubuntu /bin/bash

5.重新启动停止的容器

docker start [-i] 容器名(-i已交互的方式)

eg: docker start -i container01

6.删除停止的容器

docker rm 容器名/id (只能删除停止的容器)

二.守护式容器

1.以守护形式运行容器

什么是守护式容器? 长期运行的容器,没有交互式的会话,适合应用程序运行

docker run -i -t IMAGE /bin/bash
Ctrl+P Ctrl+Q    (后台运行)
docker ps 可以查看到正在运行的容器

2.附加到运行中的容器

docker attach 容器名/id

3.启动守护式容器

docker run -d 镜像名 [COMMAND][ARG...]

eg: $ docker run --name dc1 -d ubuntu /bin/sh -c "while true;do echo hello world;sleep 1;done"

(使用shell脚本,当任务执行完,守护式容器依旧会停止)

4. 查看容器日志

docker logs [-f] [-t] [--tail] 容器名

-f --follows=true|false 默认为false (一直跟踪日志的变化,并返回结果)

-t --timestamps=true}false 默认为false (在返回的结果上加上时间戳)

--tail="all" (返回的结尾处多少数量的日志,不指定则返回所有的日志)

eg:

docker logs -tf --tail 10 dc1

docker logs -tf --tail 0 dc1 (tail 0 只显示最新的日志)

5.查看容器内进程

docker top 容器名

6.在运行中的容器内启动新进程

docker exec [-d] [-i] [-t] 容器名 [COMMAND] [ARG...]    (与run命令相似)

7.停止守护式容器

docker stop 容器名 (会等待容器的停止)
docker kill 容器名 (直接停止容器)

8.使用Docker帮助文件

man docker-run
man docker-logs
man docker-top
man docker-exec
...

三.在容器中部署静态站点

1.设置容器的端口映射

run [P] [p]

-P, --publish-all=true|false 默认为false 为容器暴露的所有端口进行映射

eg: docker run -P -i -t ubuntu /bin/bash

-p, --publish=[] 能够制定映射容器的哪些端口

  1. containerPort 只制定容器的端口,宿主机的端口随机映射

eg: docker run -p 80 -i -t ubuntu /bin/bash

  1. hostPort:containerPort 同时制定宿主机端口和容器端口,一一对应

eg: docker run -p 8080:80 -i -t ubuntu /bin/bash

  1. ip::containerPort

eg: docker run -p 0.0.0.0:80 -i -t ubuntu /bin/bash

  1. ip:hostPort:containerPort

eg: docker run -p 0.0.0.0:8080:80 -i -t ubuntu /bin/bash

2.Nginx部署流程

  1. 创建映射80端口的交互式容器
  2. 安装Nginx
  3. 安装文本编辑器vim
  4. 创建静态页面
  5. 修改Nginx配置文件
  6. 运行Nginx
  7. 验证网站访问
docker run -p 80 --name web -i -t ubuntu /bin/bash
apt-get install -y nginx
apt-get install -y vim
mkdir -p /var/www/html
cd /var/www/html
vim index.html
<html>
<head>
    <title>Nginx in docker</title>
</head>
<body>
    <h1>Hello, I‘m website in docker!</h1>
</body>
</html>
whereis nginx
vim /etc/nginx/sites-enabled/default
修改root 的值为静态网站根目录(/var/www/html)
cd /    返回根目录
nginx    运行nginx
ps -ef    查看nginx进程

Ctrl+P Ctrl+Q 退出

docker ps 查看容器映射的端口

docker port web 查看容器端口映射情况

docker top web 查看容器中进程运行的情况

  1. 通过宿主机的ip地址查看

curl http://127.0.0.1:*** 查看网站返回内容

  1. 通过容器的ip地址查看

docker inspect web 获取容器的ip地址

curl http://容器ip

docker stop web 重启容器

docker start web

docker exec web nginx

docker inspect web

停止一个容器并重新启动时,原先的ip地址和映射的端口也不一样

时间: 2024-08-27 10:57:38

Docker基本命令与使用 —— Docker容器(一)的相关文章

Docker基本命令与使用 —— Docker容器的网络连接(四)

一.Docker容器的网络基础 通过ifconfig查看docker0的网络设备,docker守护进程就是通过docker0为docker的容器提供网络连接的各种服务. docker0是Linux虚拟网桥. Linux虚拟网桥的特点: 可以设置IP地址 相当于拥有一个隐藏的虚拟网卡 docker0的地址划分: IP:172.17.42.1 子网掩码: 255.255.0.0 MAC: 02:42:ac:11:00:00 到 02:42:ac:11:ff:ff 总共提供65534个地址 docke

Docker基本命令与使用 —— Docker镜像与仓库(二)

一.查看和删除镜像 1.Docker Image 镜像 容器的基石 层叠的只读文件系统 联合加载(union mount) (存储位置 /var/lib/docker) docker info 2.列出镜像 docker images [OPTIONS] [REPOSITORY] -a,--all=false 默认并不显示中间层镜像 -f,--filter=[] 过滤条件 -no-trunc=false 不以截断的形式显示数据(镜像的唯一Id) -q,--quiet=false 只显示镜像的唯一

Docker 基本命令和使用

Docker 基本命令 systemctl start docker : 启动 Docker systemctl stop docker : 停止 Docker systemctl restart docker : 重启 Docker systemctl enable docker : 开机启动 Docker docker info : 查看 Docker 概要信息 docker --help :查看 Docker 帮助文档 docker version : 查看Docker版本信息 Docke

docker基本命令及操作逻辑

docker镜像操作逻辑图: docker是一个容器,而运行一个容器必须要有镜像,因为镜像是容器的核心,我们在docker上运行一个服务时需要通过docker run运行一个镜像,才能够进入到该容器中,我们也可以使用docker commit命令 将一个容器制作成一个镜像,但注意制作一个镜像时需要指定一个完整的镜像名称(镜像名称+版本号),它默认的版本号是latest,表示为最新版本的镜像,如果不写,将默认已latest结尾.还可以执行docker save --output命令导出该镜像,而当

docker技术剖析--镜像、容器管理

防伪码:博观而约取,厚积而薄发                                 docker技术剖析--镜像.容器管理 一.Docker简介 Docker是什么? Docker的英文本意是"搬运工",在程序员的世界里,Docker搬运的是集装箱(Container),集装箱里装的是任意类型的App,开发者通过Docker可以将App变成一种标准化的.可移植的.自管理的组件,可以在任何主流系统中开发.调试和运行. 说白了,docker是一种用了新颖方式实现的轻量级虚拟机,

docker学习笔记2:容器操作

一.列出主机上已经创建的容器 docker ps -a 二.创建交互式容器 命令: docker run -i -t ubuntu /bin/bash 其中-i -t 表示创建一个提供交互式shell的容器. ubuntu是镜像名,如果本地不存在,回到仓库中下载. /bin/bash 是指定容器创建后立即执行的命令. 注意:每个容器都有一个唯一的ID,作为容器的标识.每个容器也有个唯一的名称,在用docker run命令创建时可以通过 --name 名称 来指定,如果不指定,系统会自动产生一个名

docker一: 镜像与容器管理

Docker的优势: 1.启动非常快,秒级实现. 2.资源利用率高,在机器中以进程的方式存在,一台机器可以跑上百个docker容器. 3.创建和配置后可以在任意地方运行docker,只需将其上传到docker仓库,用到时拉下来就可以 4.易迁移,平台依赖性不强. Docker的主要概念: 1.镜像:只读模板,类似于安装系统用到的iso文件,对于镜像我们可以自定义,比如在一台机器上安装好lnmp环境,然后打包成为一个镜像,那么后期只需要从仓库中把这个镜像拉下来就可以直接使用lnmp环境了,非常方便

Docker基本命令

1.搜索Docker镜像 docker search <镜像名> 2.获取镜像 docker pull <镜像名> 3.查看本地镜像 docker images 4.删除镜像 docker rmi <镜像名> 5.启动容器 docker run --name <容器名> <镜像名> 容器后台运行docker run -d --name <容器名> <镜像名> 6.查看荣誉运行状态 docker ps 查看所有容器状态(包括

Docker系列(二)---容器

创建容器 新建容器 方法一: [[email protected]]# docker run -it centos:6 echo "hello" hello 方法二: [[email protected]]# docker create -it centos:6 echo "hello" c97b4ca48ce2f2065230398c57955c9ab9a31a3af9301217a626a16471697451 使用方法二创建的容易处于停止状态,使用docker