设计分享网站,wordpress能仿站吗,网站引导页利弊,申请域名后 怎么把网站部署上去容器的基本操作
容器的操作步骤其实很简单#xff0c;根据拉取的镜像#xff0c;进行启动#xff0c;后可以查看容器#xff0c;不用时停止容器#xff0c;删除容器。
下面简单演示操作步骤
1.创建并运行容器
例如#xff0c;创建一个名为my-nginx的交互…容器的基本操作
容器的操作步骤其实很简单根据拉取的镜像进行启动后可以查看容器不用时停止容器删除容器。
下面简单演示操作步骤
1.创建并运行容器
例如创建一个名为my-nginx的交互式Nginx容器并将容器端口80映射到主机端口8080可以使用以下命令
docker run -it --name my-nginx -p 8080:80 nginx2.查看容器
docker ps列出当前正在运行的容器。docker ps -a列出所有容器包括已经停止的。
按照我们在linux执行的命令通常是使用ls来进行查看对应的目录而容器其实也是可以这样操作的 docker container ls 等价于 docker ps 只不过是我们习惯用docker ps 的命令了
3.停止容器
使用docker stop命令可以停止一个正在运行的容器。例如停止名为my-nginx的容器
docker stop my-nginx另外docker kill命令也可以用来停止容器但它会立即发送SIGKILL信号给容器可能会导致数据丢失或状态不一致因此通常不建议使用。
对于容器ID能直接通过ID前三位直接进行操作:
4.删除容器
使用docker rm命令可以删除一个已经停止的容器。例如删除名为my-nginx的容器
docker rm my-nginx如果需要一次性删除所有已经停止的容器可以使用以下命令
docker rm $(docker ps -a -q)容器的批量处理技巧
docker ps 选项
-a 所有容器-f 根据给定条件进行过滤-q 静默获取容器id 注docker ps 等价于 docker container ls 例如根据名称过滤得到一个容器编号
根据状态信息获取对应的容器: 获取停止运行状态的容器: 获取容器的全部id:
容器的运行方式
attached模式
在这种模式下容器在前台运行并且容器的日志会实时地展现到宿主机的命令行窗口中。
定义attached模式是指Docker容器在前台运行并且与宿主机的命令行窗口保持连接的状态。特点
实时日志输出容器的日志会实时地输出到宿主机的命令行窗口中方便用户进行实时监控和调试。交互性强用户可以在宿主机的命令行窗口中直接对容器进行操作如输入命令、查看文件等。占用端口attached模式会占用宿主机的命令行窗口直到用户手动停止容器或关闭窗口。
使用场景 attached模式更适用于容器和程序的调试阶段。在调试过程中开发人员需要实时监控容器的日志输出以便及时发现和解决问题。同时开发人员还需要在容器中执行一些命令来查看文件、修改配置等attached模式提供了这样的交互环境。
例子 在启动Docker容器时如果不加-d或–detach参数则容器会以attached模式运行。例如使用以下命令启动一个Nginx容器
docker container run -p 80:80 nginxdetached模式
detach模式是指Docker容器在后台运行并且与当前的命令行窗口或终端分离的状态。
特点
后台运行容器在detach模式下会在后台运行不会占用当前的命令行窗口或终端。日志输出虽然容器在后台运行但其日志仍然会输出到Docker的日志系统中可以通过docker logs命令查看。资源占用detach模式下的容器会占用系统资源如CPU、内存和磁盘等但不会影响当前命令行窗口或终端的使用。
使用场景 detach模式更适用于需要长时间运行的服务或应用程序如Web服务器、数据库等。这些服务或应用程序通常不需要频繁的用户交互因此可以在后台运行并释放当前的命令行窗口或终端资源。
例如 在启动Docker容器时使用-d或–detach参数可以使容器以detach模式运行。例如使用以下命令启动一个Nginx容器
docker run -p 8080:80 --name mynginx3 -d nginx:1.23.4根据命令查看日志信息:
docker logs 8e7可以将其转化为attach模式一旦访问服务器地址就有日志信息:
docker attach 8e7interative模式
interactive模式是指Docker容器在运行时用户可以通过命令行与容器内部进行实时交互的状态。
特点
实时交互用户可以在命令行中直接输入命令并实时查看容器的响应和输出。灵活性强用户可以根据需要随时调整容器的配置、查看文件、安装软件等。适用于开发和调试interactive模式特别适用于需要频繁与容器内部进行交互的场景如开发、测试和调试等。
在启动Docker容器时使用-it参数可以使容器以interactive模式运行。其中-i表示保持标准输入流打开-t表示分配一个伪终端。例如使用以下命令启动一个基于Ubuntu镜像的容器并进入其内部的bash命令行环境
docker run -it ubuntu bash这条命令会启动一个基于Ubuntu镜像的容器并为用户分配一个伪终端用户可以在其中执行Linux命令与容器进行交互。
容器自动重启
容器可以通过配置选项参数来让其自动重启 docker run --restartno [容器名] :默认值不自动重启 docker run --restartalways [容器名] :always 容器退出时总是重启 docker run --restarton-failure:3 [容器名] : on-failure 若容器的退出状态非 0则docker 自动重启容器还可以指定重启次数若超过指定次数未能启动容器则放弃;
下面演示自动重启的例子 先运行一个容器并将docker run --restartalways [容器名] :always 选项加上
docker run --name mynginx5 -d -p 8080:80 --restart always nginx:1.23.4此时容器在后台运行 容器被kill之后仍然在运行: 最后释放空间
docker stop mynginx5
docker rm mynginx5设置容器的环境变量
在运行容器时可以使用docker run命令的-e参数来设置环境变量。这种方式允许在创建和启动容器时动态地传递环境变量。
下面来演示一下
启动一个 nginx 容器配置环境变量TEST1
docker run--name mynginx5 -d -p 8080:80 -e TEST1 nginx:1.23.4进入容器并查看:
rootVM-8-12-ubuntu:~# docker exec -it mynginx5 bash
root34b076bc51da:/# env 丨 grep TEST
TEST1
root34b076bc51da:/# exit
exit释放空间:
rootVM-8-12-ubuntu:~# docker stop mynginx5
mynginx5
rootVM-8-12-ubuntu:~# docker rm mynginx5
mynginx5注意 环境变量的命名环境变量的命名应遵循一定的规范避免使用与操作系统或应用程序保留的环境变量名相冲突的名称。环境变量的值环境变量的值应避免包含敏感信息如密码、密钥等。如果必须包含敏感信息应确保这些信息的安全存储和传输。环境变量的作用范围设置的环境变量只在容器内部生效不会影响到宿主机或其他容器。如果需要在多个容器之间共享环境变量可以考虑使用Docker网络、Docker Configs或Docker Secrets等功能。