Docker入门(一)

December 11, 2023
测试
测试
测试
测试
3 分钟阅读

什么是docker?

docker是一个用于开发,交付和运行应用程序的开放平台。docker能够将应用程序和基础架构分开,从而实现快速交付软件。通过利用docker的快速交付,测试和部署代码的方法,可以大大减少编写代码和在生产环境中运行代码之间的延迟。

docker平台

docker提供了在松散隔离的环境中打包和运行应用程序的功能。隔离和安全性使您可以在给定主机上同时运行多个容器。容器是轻量级的,因为不需要管理程序的额外负担,而是直接在主机的内核中运行。

docker提供了工具和平台来管理容器的生命周期:

  • 使用容器开发应用程序及其支持组件。
  • 容器成为分发和测试应用程序的单元
  • 准备就绪后,可以将应用程序作为容器或者协调服务部署到生产环境中。无论您的生产环境是本地数据中心,云提供商还是两者的混合,其工作原理都相同。

docker的应用场景

  • Web应用的自动化打包和发布
  • 自动化测试和持续集成、发布
  • 在服务型环境中部署和调整数据库和其他的后台应用

docker的优点

  • 快速、一致地交付
  • 响应式部署和扩展
  • 在同一硬件上运行更多的工作负载

安装docker环境

  1. 安装yum-utils
yum install -y yum-utils device-mapper-persistent-data lvm2

2. 为yum源添加docker仓库位置

yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

3. 安装docker

yum intsall docker-ce

4. 启动docker

systemctl start docker

5. 关闭docker

systemctl stop docker

docker镜像常用的命令

搜索镜像
docker search java
下载镜像
docker pull java:8
也可以到docker的官网查看镜像支持的版本 hub.docker.com
如下载1.17.0版本的nginx
docker pull nginx:1.17.0
列出镜像
docker images
根据名称删除镜像
docker rmi java:8
根据名称强制删除镜像
docker rmi -f java:8
强制删除所有的镜像
docekr rmi -f $(docker images)

docker容器常用的命令

新建并启动容器

docker run -p 80:80 --name nginx:1.17.0
  • -d选项:表示后台运行
  • --name :指定运行后容器的名字,之后可以通过名字来操作容器
  • -p:指定端口映射,格式为hostPost:containerPort

列出容器

  • 列出运行中的容器
docker ps
  • 列出所有的容器
docker ps -a

停止容器

docker stop $ContainerName(或$ContainerId)

强制停止容器

docker kill $ContainerName(或$ContainerId)

启动容器

docker start $ContainerName(或者$ContainerId)

查出容器的pid,并根据容器的pid进入容器

docker inspect --format "{{.State.Pid}}" $ContainerName(或者$ContainerId)
nsenter --target "$pid" --mount --uts --ipc --net --pid

查看容器的日志

docker logs $ContainerName(或者$ContainerId)

查看容器的运行情况

docker stats $ContainerName(或者$ContainerId)
//查看所有容器的
docker stats -a

查看镜像的存放位置

docker info | grep "Docker Root Dir"

移动镜像的存放位置到指定位置

mv /var/lib/docker /mydata/docker

遍历HashMap

为简化开发而生

继续阅读

更多来自我们博客的帖子

如何安装 BuddyPress
由 测试 December 17, 2023
经过差不多一年的开发,BuddyPress 这个基于 WordPress Mu 的 SNS 插件正式版终于发布了。BuddyPress...
阅读更多
Filter如何工作
由 测试 December 17, 2023
在 web.xml...
阅读更多
如何理解CGAffineTransform
由 测试 December 17, 2023
CGAffineTransform A structure for holding an affine transformation matrix. ...
阅读更多