Docker – Wasting_Misaka.Blog https://forelink.top Hso! Sat, 14 Sep 2024 17:04:06 +0000 zh-Hans hourly 1 https://wordpress.org/?v=6.7.1 将宿主机文件拷贝进容器 https://forelink.top/index.php/2024/09/15/%e5%b0%86%e5%ae%bf%e4%b8%bb%e6%9c%ba%e6%96%87%e4%bb%b6%e6%8b%b7%e8%b4%9d%e8%bf%9b%e5%ae%b9%e5%99%a8/ https://forelink.top/index.php/2024/09/15/%e5%b0%86%e5%ae%bf%e4%b8%bb%e6%9c%ba%e6%96%87%e4%bb%b6%e6%8b%b7%e8%b4%9d%e8%bf%9b%e5%ae%b9%e5%99%a8/#respond Sat, 14 Sep 2024 16:52:05 +0000 https://forelink.top/?p=579 简介:
使用 docker cp 命令将宿主机中的文件拷贝到Docker容器中

大多数 Docker 容器 内的目录结构与标准的 Linux 文件系统非常相似,包括常见的目录如 /bin/etc/sys 等。这是因为容器通常基于某种 Linux 操作系统镜像(如 Ubuntu、Debian、Alpine Linux 等)创建的,这些镜像本身就包含了一些基本的 Linux 目录和工具。

以bash方式启动可以打开容器的命令行。

拷贝文件

使用docker cp指令 例如:

docker cp /home/user/sql_files/file1.sql mysql-container:/tmp/file1.sql 
docker cp /home/user/sql_files/file2.sql mysql-container:/tmp/file2.sql

此命令将两个 sql 文件拷贝进了mysql容器的临时文件夹中 image.png

]]>
https://forelink.top/index.php/2024/09/15/%e5%b0%86%e5%ae%bf%e4%b8%bb%e6%9c%ba%e6%96%87%e4%bb%b6%e6%8b%b7%e8%b4%9d%e8%bf%9b%e5%ae%b9%e5%99%a8/feed/ 0
Mysql部署 https://forelink.top/index.php/2024/09/15/mysql%e9%83%a8%e7%bd%b2/ https://forelink.top/index.php/2024/09/15/mysql%e9%83%a8%e7%bd%b2/#respond Sat, 14 Sep 2024 16:51:38 +0000 https://forelink.top/?p=577 简介

docker 部署 mysql容器。

创建容器

docker run --name mysql_mycontainer -p 3307:3306 -e MYSQL_ROOT_HOST='%' -e MYSQL_ROOT_PASSWORD=root -d mysql:5.7.36

–name 指定容器的别名 -p 宿主机端口:容器端口 外部连接3307端口,即可连接容器 -e 设置环境变量的值 PATHVAR = VAR 此处将密码设置为了 root -d 以守护模式运行该容器(后台运行)

查看容器状态

docker ps -a
image.png

可以检查容器在docker中的状态。

外部连接容器

mysql -h [ip] -p [port] -u [username] -p
*输入密码*

image.png (如果不成功,可能需要开放对应的端口) 如图,在其设备上成功访问了mysql。

]]>
https://forelink.top/index.php/2024/09/15/mysql%e9%83%a8%e7%bd%b2/feed/ 0
数据卷概念和配置 https://forelink.top/index.php/2024/09/15/%e6%95%b0%e6%8d%ae%e5%8d%b7%e6%a6%82%e5%bf%b5%e5%92%8c%e9%85%8d%e7%bd%ae/ https://forelink.top/index.php/2024/09/15/%e6%95%b0%e6%8d%ae%e5%8d%b7%e6%a6%82%e5%bf%b5%e5%92%8c%e9%85%8d%e7%bd%ae/#respond Sat, 14 Sep 2024 16:51:01 +0000 https://forelink.top/?p=575 简介

包括了docker 数据卷的概念、作用和配置。

概念:

数据卷式宿主机的一个目录或文件,当容器目录和数据卷目录绑定后,对方修改会立即同步。 宿主机的目录能把数据卷中的数据在容器中同步挂载。 外部机器和容器虽不互通,但可以和宿主机互通。 一个数据卷可以被多个容器同时挂载。 一个容器也可以挂载多个数据卷。

作用:

数据卷的作用包括 容器数据持久化 外部机器和容器间接通信 容器之间数据交换

配置:

创建启动容器时,使用 – v 参数 设置数据卷 docker run … -v [宿主机目录(文件)]:[容器内目录(文件)]

注意事项: 目录必须是绝对路径 如果目录不存在,会自动创建 可以挂载多个数据卷

在挂载的目录中创建文件,能同步给容器和宿主机。 对文件的修改操作也能实时同步。

一个容器可以挂载多个数据卷目录 -v 宿主机目录1:数据卷1 -v 宿主机目录2:数据卷2

数据卷容器:是一种特殊的容器 多容器进行数据交换: 多个容器挂载同一个数据卷(麻烦) 数据卷容器(方便) 使用时让其他容器继承该容器即可。 创建数据卷容器: -v /volume(容器名?)

创建容器:
--volumes-from [数据卷容器名]
]]>
https://forelink.top/index.php/2024/09/15/%e6%95%b0%e6%8d%ae%e5%8d%b7%e6%a6%82%e5%bf%b5%e5%92%8c%e9%85%8d%e7%bd%ae/feed/ 0
Docker简介和安装方法 https://forelink.top/index.php/2024/09/15/docker%e7%ae%80%e4%bb%8b%e5%92%8c%e5%ae%89%e8%a3%85%e6%96%b9%e6%b3%95/ https://forelink.top/index.php/2024/09/15/docker%e7%ae%80%e4%bb%8b%e5%92%8c%e5%ae%89%e8%a3%85%e6%96%b9%e6%b3%95/#respond Sat, 14 Sep 2024 16:50:22 +0000 https://forelink.top/?p=573 简介:

Docker 是基于Go语言实现,轻量级,可移植的开源应用容器引擎 使用沙箱机制运行,容器开销低且相互隔离

可在MAC Windows Linux上安装运行

Linux Docker安装

官网下载文档 Debian | Docker Docs

Debian安装

配置官方apt源

# Add Docker's official GPG key:
sudo apt-get update
sudo apt-get install ca-certificates curl
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/debian/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc

# Add the repository to Apt sources:
echo \
  "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/debian \
  $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
  sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update

安装 Docker

验证是否安装成功

sudo docker run hello-world

该命令会下载一个hello-world测试镜像,并分配一个容器运行。 容器运行后,如果docker安装成功,会打印出确认信息,随后自动退出。

image.png 看到该信息,说明docker服务正常,安装成功。

设置Docker自启(可选)

sudo systemlctl enable docker

安装 本地Debian Deb包

sudo apt-get update
sudo apt-get install ./docker-desktop-<arch>.deb

Docker Desktop 默认安装在 /opt/docker-desktop 中

配置 Docker配置文件

Debian 桌面版安装

在Debian 上推荐安装使用Docker Desktop。

image.png 右键复制链接 使用 wget命令下载。

wget https://desktop.docker.com/linux/main/amd64/docker-desktop-amd64.deb

镜像和容器

镜像

查看镜像
    docker image [-q]
    [-q] 返回所有镜像的标识符/ID
    REPOSITORY 镜像名
    TAG 版本号
    IMAGE ID 标识符
    CREATED 创建时间
    SIZE 镜像大小

搜索镜像(需联网)
    docker search [something]

拉取镜像(默认下载最新版本)
    docker pull [下载内容:版本号]
    在docker.hub可以查找image的信息

删除镜像
    docker rmi [image id/镜像名]

容器

运行容器
    docker run [options] [镜像名:版本号] [COMMANDS] [其他参数]
    options:
        -i 保持容器运行
        -t 能给容器分配一个终端,接受后续的命令(通常与-i同时使用)
        -d 以守护模式运行容器,创建一个后台容器,退出后容器不会自动关闭
        -i -t -d可以合并为 -dit
        -p 端口映射 将容器的端口映射到宿主机的端口
            格式为 -p 宿主机端口:容器端口
        -v 卷挂载,将宿主机的目录挂载到容器的目录
            格式为 -v /宿主机/目录:/容器/目录
        -e 环境变量 设置容器内部使用的环境变量
            格式为 -e "MY_VAR=my_value" 常用于系统容器中
        --rm 自动删除 容器停止后自动删除,释放资源。
        --name能给容器指定一个别名
            指定运行系统版本
            运行后能进入容器内部进行操作
            exit退出后容器会被关闭
        还有其他启动选项,不一一列出
    (以下为可选)
    COMMANDS:
        容器启动时调用的命令。
        如果运行一个 ubuntu 容器,默认命令是/bin/bash
        会进入一个交互式 Bash shell
    其他参数 是传递给命令的参数
    
进入容器内部
    docker exec [options] [容器别名name]

查看正在运行的容器
    docker ps [options]
    查看容器的创建命令
    -a 查看所有创建过的容器
    -q 返回容器的识别号

启动容器
    docker start [容器别名]
关闭容器
    docker stop [容器别名]
删除容器
    docker rm [容器别名]
    不能删除正在运行的容器

查看容器信息
    docker inspect [容器别名]

复合命令
    docker rm `docker ps -aq`
    删除所有容器
]]>
https://forelink.top/index.php/2024/09/15/docker%e7%ae%80%e4%bb%8b%e5%92%8c%e5%ae%89%e8%a3%85%e6%96%b9%e6%b3%95/feed/ 0