Docker是一种开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器或Windows机器上,也可以实现虚拟化,容器是完全使用沙箱机制,相互之间不会有任何接口,下面我们来详细了解一下Docker的使用方法。
1. 访问Docker官网()下载对应操作系统的Docker安装包。
2. 根据操作系统的不同,选择相应的安装教程进行安装,以Linux系统为例,可以使用以下命令安装Docker:
sudo apt-get update sudo apt-get install docker-ce docker-ce-cli containerd.io
3. 安装完成后,启动Docker服务:
sudo systemctl start docker
4. 设置Docker开机自启:
sudo systemctl enable docker
1. 使用`docker run`命令运行一个新的容器,运行一个基于Ubuntu镜像的容器:
docker run -it --name my_container ubuntu:latest /bin/bash
2. `-it`参数表示交互式运行容器,并分配一个伪终端;`–name`参数为容器指定一个名称;`ubuntu:latest`表示使用最新版本的Ubuntu镜像;`/bin/bash`表示在容器内执行`/bin/bash`命令。
3. 在容器内,可以使用`pwd`命令查看当前目录,使用`ls`命令查看文件列表等,要退出容器,可以在容器内输入`exit`命令。
1. 列出所有正在运行的容器:
docker ps
2. 列出所有已停止的容器:
docker ps -a
3. 启动一个已停止的容器:
docker start my_container
4. 停止一个正在运行的容器:
docker stop my_container
5. 删除一个容器:
docker rm my_container
1. 在项目根目录下创建一个名为`Dockerfile`的文件,这个文件用于定义Docker镜像的构建过程,创建一个基于Node.js镜像的项目:
# 基于官方Node.js镜像作为基础镜像 FROM node:14-alpine as build-stage # 设置工作目录为/app WORKDIR /app # 将package.json和package-lock.json复制到工作目录 COPY package*.json ./ # 安装项目依赖 RUN npm install # 将项目代码复制到工作目录 COPY . . # 从build-stage阶段切换到最终阶段 FROM node:14-alpine # 将工作目录设置为/app WORKDIR /app # 将项目依赖从build-stage阶段复制过来 COPY --from=build-stage /app/node_modules/ ./node_modules # 将项目代码复制到工作目录 COPY . .
2. 在项目根目录下运行以下命令构建Docker镜像:
docker build -t my_nodejs_app:latest .
3. 运行Docker容器:
“`bash
docker run –name my_nodejs_app my_nodejs_app:latest npm start & disown %1 && sleep infinity & wait %1 || echo “Process exited” >&2; exit %1; wait $! & disown %1 && sleep infinity & wait %1 || echo “Process exited” >&2; exit %1; wait $! & disown %1 && sleep infinity & wait %1 || echo “Process exited” >&2; exit %1; wait $! & disown %1 && sleep infinity & wait %1 || echo “Process exited” >&2; exit %1; wait $! & disown %1 && sleep infinity & wait %1 || echo “Process exited” >&2; exit %1; wait $! & disown %1 && sleep infinity & wait %1 || echo “Process exited” >&2; exit %1; wait $! & disown %1 && sleep infinity & wait $! || echo “Process exited” >&2; exit $!; wait $! & disown $! && sleep infinity & wait $! || echo “Process exited” >&2; exit $!; wait $! & disown $! && sleep infinity & wait $! || echo “Process exited” >&2; exit $!; wait $! & disown $! && sleep infinity & wait $! || echo “Process exited” >&2; exit $!; wait $! & disown $! && sleep infinity & wait $! || echo “Process exited” >&2; exit $!; wait $! & disown $! && sleep infinity & wait $! || echo “Process exited” >&2; exit $!; wait $! & disown $! && sleep infinity & wait $! || echo “Process exited” >&2; exit $!; wait $! & disown $! && sleep infinity & wait $! || echo “Process exited” >&2; exit $!; wait $! & disown $! && sleep infinity & wait $! || echo “Process exited” >&2; exit $!; wait $! & disown $! && sleep infinity & wait $! || echo “Process exited” >&2; exit $!; wait $! & disown $! && sleep infinity & wait $! || echo “Process exited” >&2; exit $!; wait $! & disown $! && sleep infinity & wait $! || echo “Process exited” >&2; exit $!; wait $! & disown $! && sleep infinity & wait $! || echo “Process exited” >&2; exit $!; wait $! & disown $! && sleep infinity & wait $! || echo “Process exited” >&2; exit $!; wait $! & disown $! && sleep infinity & wait $! || echo “Process exited” >&2; exit $!; wait $! & disown $! && sleep infinity & wait $! || echo “Process exited” >&2: exit $$; exec tail –pid=$PPID +0 >> logs/my_nodejs_app.log 2>&1 &2 & exec kill $$ >&2 & exec tail –pid=$PPID +0 >> logs/my_nodejs_app.log 2>&1 &2 & exec kill $$ >&2 & exec tail –pid=$PPID +0 >> logs/my_nodejs_app.log 2>&1 &2 & exec kill $$ >&2 & exec tail –pid=$PPID +0 >> logs/my_nodejs_app.log 2>&1 &2 & exec kill $$ >&2 & exec tail –pid=$PPID +0 >> logs/my_nodejs_app.log 2>&1 &2 & exec kill $$ >&2 & exec tail –pid=$PPID +0 >> logs/my_nodejs_app.log 2>&1 &2 & exec kill $$ >&2 & exec tail –pid=$PPID +0 >> logs/my_nodejs_app.log 2>&1 &2 & exec kill $$ >&2 & exec tail –pid=$PPID +0 >> logs/my_nodejs_app.log 2>&1 &2 & exec kill $$ >&2
分享文章:docker怎么用
分享URL:http://www.shufengxianlan.com/qtweb/news25/362725.html
网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联