济南建公司网站,智慧团建电脑版登录官网,成都个人网站建设,p2p网站建设的步骤过程docker使用
1. Docker 介绍
Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中#xff0c;然后发布到任何流行的 Linux 机器上#xff0c;也可以实现虚拟化。Docker 使您能够将应用程序与基础架构分开#xff0c;从而可以快速交付软件。通过利用 …docker使用
1. Docker 介绍
Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中然后发布到任何流行的 Linux 机器上也可以实现虚拟化。Docker 使您能够将应用程序与基础架构分开从而可以快速交付软件。通过利用 Docker 的方法来快速交付测试和部署代码您可以大大减少编写代码和在生产环境中运行代码之间的延迟。
1.1 Docker 架构
Docker 包括三个基本概念:
镜像ImageDocker 镜像Image就相当于是一个 root 文件系统。比如官方镜像 ubuntu:16.04 就包含了完整的一套 Ubuntu16.04 最小系统的 root 文件系统。容器Container镜像Image和容器Container的关系就像是面向对象程序设计中的类和实例一样镜像是静态的定义容器是镜像运行时的实体。容器可以被创建、启动、停止、删除、暂停等。仓库Repository仓库可看成一个代码控制中心用来保存镜像。
容器与镜像的关系类似于面向对象编程中的对象与类。
1.2 Docker 安装
Docker 并非是一个通用的容器工具它依赖于已存在并运行的 Linux 内核环境。Docker 实质上是在已经运行的 Linux 下制造了一个隔离的文件环境因此它执行的效率几乎等同于所部署的 Linux 主机。因此Docker 必须部署在 Linux 内核的系统上。
ubuntu 安装 curl -fsSL https://test.docker.com -o test-docker.shsudo sh test-docker.sh卸载
# 删除安装包
sudo apt-get purge docker-ce
# 删除镜像、容器、配置文件等内容
sudo rm -rf /var/lib/dockerwindows安装
如果其他系统想部署 Docker 就必须安装一个虚拟 Linux 环境。在 Windows 上部署 Docker 的方法都是先安装一个虚拟机并在安装 Linux 系统的的虚拟机中运行 Docker。 链接https://www.runoob.com/docker/ubuntu-docker-install.html
1.3 Docker Hello world
Docker 允许你在容器内运行应用程序 使用 docker run 命令来在容器内运行一个应用程序。
输出Hello world
docker run ubuntu:15.10 /bin/echo Hello world以上命令完整的意思可以解释为Docker 以 ubuntu15.10 镜像创建一个新容器然后在容器里执行 bin/echo “Hello world”然后输出结果。 各个参数解析 docker: Docker 的二进制执行文件。 run: 与前面的 docker 组合来运行一个容器。 ubuntu:15.10 指定要运行的镜像Docker 首先从本地主机上查找镜像是否存在如果不存在Docker 就会从镜像仓库 Docker Hub 下载公共镜像。 /bin/echo “Hello world”: 在启动的容器里执行的命令 Docker 镜像加速 国内从 DockerHub 拉取镜像有时会遇到困难此时可以配置镜像加速器Docker 官方和国内很多云服务商都提供了国内加速器服务例如 科大镜像https://docker.mirrors.ustc.edu.cn/ 网易https://hub-mirror.c.163.com/ 阿里云https://你的ID.mirror.aliyuncs.com 七牛云加速器https://reg-mirror.qiniu.com 加速配置Ubuntu16.04、Debian8、CentOS7
对于使用 systemd 的系统请在 /etc/docker/daemon.json 中写入如下内容如果不存在请新建该文件
{registry-mirrors:[https://reg-mirror.qiniu.com/]}之后重新启动服务
sudo systemctl daemon-reload
sudo systemctl restart docker2. Docker 常用命令
2.1 Docker 容器使用
查看到 Docker 客户端的所有命令选项
dockerdocker command --help 更深入的了解指定的 Docker 命令使用方法
docker stats --help获取镜像
docker pull ubuntu启动容器
docker run -it ubuntu /bin/bash# 参数说明
# -i: 交互式操作。
# -t: 终端。
# ubuntu: ubuntu 镜像。
# /bin/bash放在镜像名后的是命令这里我们希望有个交互式 Shell因此用的是 /bin/bash/
# 要退出终端直接输入 exit退出容器
exit查看所有的容器
docker ps -a使用 docker start 启动一个已停止的容器
docker start b750bbbcfd88后台运行 在大部分的场景下我们希望 docker 的服务是在后台运行的我们可以过 -d 指定容器的运行模式
# 加了 -d 参数默认不会进入容器
docker run -itd --name ubuntu-test ubuntu /bin/bash停止容器
docker stop 容器 ID停止的容器可以通过 docker restart 重启
docker restart 容器 ID进入容器
在使用 -d 参数时容器启动后会进入后台。此时想要进入容器可以通过以下指令进入
# 使用 docker attach 命令进入容器退出后会导致容器的停止
docker attach 1e560fca3906# 使用 docker exec 命令进入容器退出后容器会继续运行
docker exec -it 243c32535da7 /bin/bash导出容器
docker export 1e560fca3906 ubuntu.tar导入容器
# 以下实例将快照文件 ubuntu.tar 导入到镜像 test/ubuntu:v1:
cat docker/ubuntu.tar | docker import - test/ubuntu:v1# 通过指定 URL 或者某个目录来导入
docker import http://example.com/exampleimage.tgz example/imagerepo删除容器
docker rm -f 1e560fca3906内容传输 导出 # docker cp 容器ID或名称:容器内路径 本地主机路径
docker cp 15bb76c6f6d6:/models/aircas/model/default/model_20230801-111150 /data/xzf/导入 # docker cp 容器ID或名称:容器内路径 本地主机路径
docker cp /home/user/data.txt mycontainer:/app
2.2 Docker 镜像使用
列出所有镜像
docker images各个选项说明:
**REPOSITORY**表示镜像的仓库源**TAG**镜像的标签**IMAGE ID**镜像ID**CREATED**镜像创建时间**SIZE**镜像大小
同一仓库源可以有多个 TAG代表这个仓库源的不同个版本如 ubuntu 仓库源里有 15.10、14.04 等多个不同的版本我们使用 REPOSITORY:TAG 来定义不同的镜像。
进入容器
docker run -it ubuntu:20.04 /bin/bash # 参数说明
# -i: 交互式操作。
# -t: 终端。
# ubuntu:20.04: 这是指用 ubuntu 20.04 版本镜像为基础来启动容器。
# /bin/bash放在镜像名后的是命令这里我们希望有个交互式 Shell因此用的是 /bin/bash获取新的镜像
docker pull ubuntu:13.10查找镜像 从 Docker Hub 网站来搜索镜像Docker Hub 网址为 https://hub.docker.com/使用 docker search 命令来搜索镜像
docker search httpd删除镜像
# 镜像删除使用 docker rmi 命令比如我们删除 hello-world 镜像
docker rmi hello-world2.3 Docker 容器连接 网络端口映射 使用 -P 绑定端口号使用 docker ps 可以看到容器端口 5000 绑定主机端口 32768
# Docker 端口映射的语法是 -p [主机端口]:[容器端口]
# 以下命令将容器的端口 80 映射到主机的端口 8080
docker run -p 8080:80 [容器名称或 ID]# 将容器暴露给主机的所有网络接口而不仅仅是 localhost使用 0.0.0.0 表示所有的 IP 地址
docker run -p 0.0.0.0:8080:80 [容器名称或 ID]2.4 Docker Compose Compose 使用的三个步骤 定义应用程序的环境使用ubuntu:20.04镜像 使用 docker-compose.yml 定义构成应用程序的服务这样它们可以在隔离环境中一起运行 执行 docker-compose up 命令来启动并运行整个应用程序 定义docker-compose.yml
version: 3
services:# 容器名称test:# 镜像名称image: ubuntu:20.04# 端口映射ports:- 12009:22- 15009:5005# 环境environment:LANG: zh_CH.UTF-8# 路径映射将本地test映射到容器的code路径下volumes:- ./test:/code- /etc/localtime:/etc/localtime:ro# 设置ssh的登录密码command: bash -c /usr/sbin/sshd -D passwd 123privileged: true
运行容器
# -d 后台运行容器
docker-compose up -d