在Ubuntu上学习使用docker命令,学习生命周期,使用docker->service开机启动docker,学习docker run

在Ubuntu上学习使用docker命令,学习生命周期,使用docker->service开机启动docker,学习docker run

【测试docker是否正确安装】

【自启动】

【使用dockerfile定制镜像】

指令最后一个 . 是上下文路径,那么什么是上下文路径呢?

$ docker build -t nginx:v3 .

上下文路径,是指 docker 在构建镜像,有时候想要使用到本机的文件(比如复制),docker build 命令得知这个路径后,会将路径下的所有内容打包。

解析:由于 docker 的运行模式是 C/S。我们本机是 C,docker 引擎是 S。实际的构建过程是在 docker 引擎下完成的,所以这个时候无法用到我们本机的文件。这就需要把我们本机的指定目录下的文件一起打包提供给 docker 引擎使用。

【创建了一个标签为v3的nginx镜像】

【docker compose】

Compose 是用于定义和运行多容器 Docker 应用程序的工具。通过 Compose,您可以使用 YML 文件来配置应用程序需要的所有服务。然后,使用一个命令,就可以从 YML 文件配置中创建并启动所有服务。

Compose 使用的三个步骤:

  • 使用 Dockerfile 定义应用程序的环境。

  • 使用 docker-compose.yml 定义构成应用程序的服务,这样它们可以在隔离环境中一起运行。

  • 最后,执行 docker-compose up 命令来启动并运行整个应用程序。

【docker容器状态和生命周期】

获取容器状态指令:

docker ps -a

网上说的有很多,而且都不一样,核心状态有五个,如图所示

用来创建容器create

在一个运行状态的容器中执行命令exec

杀死运行中的容器kill

让容器暂停pause

恢复容器unpause

重启容器restart

新建并初始化一个容器(注意 是一个新的容器) run

启动一个被停止的容器start

暂停运行中的容器stop

【Docker run 命令】

docker run 命令用于创建并启动一个新的容器。

语法

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

常用参数说明:

  • -d: 后台运行容器并返回容器 ID。

  • -it: 交互式运行容器,分配一个伪终端。

  • --name: 给容器指定一个名称。

  • -p: 端口映射,格式为 host_port:container_port

  • -v: 挂载卷,格式为 host_dir:container_dir

  • --rm: 容器停止后自动删除容器。

  • --env-e: 设置环境变量。

  • --network: 指定容器的网络模式。

  • --restart: 容器的重启策略(如 noon-failurealwaysunless-stopped)。

  • -u: 指定用户。

实例

1. 基本使用

docker run ubuntu

拉取 ubuntu 镜像并在前台启动一个容器。

2. 后台运行容器

docker run -d ubuntu

在后台运行 ubuntu 容器并返回容器 ID。

3. 交互式运行并分配终端

docker run -it ubuntu /bin/bash

以交互模式运行 ubuntu 容器,并启动一个 Bash shell。

4. 指定容器名称

docker run --name my_container ubuntu

运行一个 ubuntu 容器,并将其命名为 my_container。

5. 端口映射

docker run -p 8080:80 nginx

将本地主机的 8080 端口映射到容器内的 80 端口,运行 nginx 容器。

6. 挂载卷

docker run -v /host/data:/container/data ubuntu

将主机的 /host/data 目录挂载到容器内的 /container/data 目录。

7. 设置环境变量

docker run -e MY_ENV_VAR=my_value ubuntu

设置环境变量 MY_ENV_VAR 的值为 my_value,运行 ubuntu 容器。

8. 使用网络模式

docker run --network host nginx

使用主机的网络模式运行 nginx 容器。

9. 指定重启策略

docker run --restart always nginx

设置容器的重启策略为 always,即使容器停止也会自动重启。

10. 指定用户

docker run -u user123 ubuntu

以 user123 用户运行 ubuntu 容器。

11. 组合多个选项

docker run -d -p 8080:80 -v /host/data:/data --name webserver nginx

后台运行一个命名为 webserver 的 nginx 容器,将主机的 8080 端口映射到容器的 80 端口,并将主机的 /host/data 目录挂载到容器的 /data 目录。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值