Docker基础和常用命令详解
Docker是什么?
Docker是一种虚拟化技术,它支持将应用程序及其依赖项封装到一个可移植的容器中,以便能够在任何地方运行。这使得在不同系统上运行应用程序变得简单易行。
Docker的基本概念
镜像(image)
Docker镜像是Docker运行容器的基础。镜像由一系列的只读层构成,每一层代表一个Dockerfile指令的执行结果。
容器(container)
Docker容器是一个可运行的Docker镜像实例,它包含了应用程序和其依赖项。容器是独立、可执行的轻量级Docker应用程序。
仓库(repository)
Docker仓库是容纳Docker镜像的地方,可以想象为代码仓库一样。Docker Hub是最大的Docker公共仓库,用户可以在上面上传和下载Docker镜像。
Docker常用命令
安装Docker
可以参考官方文档安装Docker:https://docs.docker.com/install/
基本命令
docker version
:查看Docker版本信息。docker images
:查看所有本地Docker镜像。docker search
name
:搜索Docker Hub上可用的镜像。docker pull
image_name:tag
:下载镜像,可以指定tag(版本号)。docker run
image_name
:启动一个Docker容器。docker ps
:查看正在运行的容器。docker stop
container_id
:停止运行中的容器。docker rm
container_id
:删除指定的Docker容器。docker rmi
image_name
:删除指定的Docker镜像。
示例说明
1. 下载并启动一个容器
我们以官方的nginx镜像为例,做以下操作:
1. 下载nginx镜像
2. 启动一个nginx容器(映射端口到本地,方便访问)
3. 查看容器是否启动
4. 在浏览器中输入http://localhost:8080
查看是否连接成功
docker pull nginx
docker run -d -p 8080:80 nginx
docker ps
2. 构建自己的镜像
创建一个简单的Node.js应用程序,并将其封装到一个Docker镜像中:
1. 创建Node.js应用程序
2. 编写Dockerfile,构建Docker镜像
3. 运行Docker镜像,启动应用程序
Node.js应用程序代码:
const http = require("http");
const port = 8080;
const requestHandler = (request, response) => {
console.log(request.url);
response.end("Hello Node.js Server!");
};
const server = http.createServer(requestHandler);
server.listen(port, (err) => {
if (err) {
return console.log("something bad happened", err);
}
console.log(`server is listening on ${port}`);
});
Dockerfile内容:
FROM node:14
WORKDIR /app
COPY package*.json ./
RUN npm install
COPY . .
EXPOSE 8080
CMD ["npm", "start"]
构建镜像并启动:
docker build -t my-node-app .
docker run -p 8080:8080 my-node-app
总结
以上仅简单介绍了 Docker 的基础概念和常用命令,但 Docker 可以做的远不止如此。对于需要依赖配置复杂的应用程序来说,使用 Docker 可以大大简化打包和部署的流程,并提供了更好的可移植性和隔离性。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Docker基础和常用命令详解 - Python技术站