Docker

Docker

一些常用命令:

  1. 使用 docker cp 命令将文件或目录从容器复制到主机上。

    docker cp <container_id_or_name>:<container_path> <host_path>
    

    示例:

    docker cp my_container:/app/data.txt /home/user/data.txt

    该命令将容器 my_container 中的 /app/data.txt 文件复制到主机的 /home/user/data.txt

  2. 同样使用 docker cp 命令,将文件或目录从主机复制到容器内。

    docker cp <host_path> <container_id_or_name>:<container_path>
    

    示例:docker cp /home/user/data.txt my_container:/app/data.txt

    该命令将主机上的 /home/user/data.txt 文件复制到容器 my_container/app/data.txt 路径下。

  3. 通过 docker exec 命令复制文件:

    如果你想在容器内进行文件操作,并不直接通过 docker cp,可以使用 docker exec 来访问容器内的 shell。以下是将本地文件通过管道传输到容器的方法(适用于一些特定需求):

    示例:
    cat /home/user/data.txt | docker exec -i my_container tee /app/data.txt
    这个命令将主机 /home/user/data.txt 文件的内容通过管道传送到容器 my_container 中 /app/data.txt 文件。

1. 镜像相关命令
  • 查看本地镜像

    docker images
    

    或者

    docker image ls
    
  • 拉取镜像

    docker pull <image_name>:<tag>
    

    示例:

    docker pull ubuntu:latest
    
  • 删除本地镜像

    docker rmi <image_id_or_name>
    

    示例:

    docker rmi ubuntu:latest
    
  • 查看镜像详细信息

    docker inspect <image_id_or_name>
    
  • 构建镜像(根据 Dockerfile 构建):

    docker build -t <image_name>:<tag> <context>
    

    示例:

    docker build -t my_image:1.0 .
    
2. 容器相关命令
  • 查看运行中的容器

    docker ps
    
  • 查看所有容器(包括停止的容器)

    docker ps -a
    
  • 启动一个容器

    docker run <options> <image_name>:<tag>
    

    示例:

    docker run -d -p 8080:80 --name my_container ubuntu:latest
    
  • 启动一个交互式容器

    docker run -it <image_name> /bin/bash
    

    示例:

    docker run -it ubuntu:latest /bin/bash
    
  • 停止容器

    docker stop <container_id_or_name>
    
  • 启动容器

    docker start <container_id_or_name>
    
  • 重新启动容器

    docker restart <container_id_or_name>
    
  • 删除停止的容器

    docker rm <container_id_or_name>
    
  • 查看容器的详细信息

    docker inspect <container_id_or_name>
    
  • 查看容器的日志

    docker logs <container_id_or_name>
    
  • 进入容器内部(交互式)

    docker exec -it <container_id_or_name> /bin/bash
    
  • 查看容器资源使用情况

    docker stats
    
3. 网络相关命令
  • 查看所有网络

    docker network ls
    
  • 查看网络详细信息

    docker network inspect <network_name_or_id>
    
  • 创建网络

    docker network create <network_name>
    
  • 连接容器到网络

    docker network connect <network_name> <container_id_or_name>
    
  • 从网络断开容器

    docker network disconnect <network_name> <container_id_or_name>
    
4. 卷(Volume)相关命令
  • 查看所有卷

    docker volume ls
    
  • 查看卷详细信息

    docker volume inspect <volume_name>
    
  • 创建卷

    docker volume create <volume_name>
    
  • 删除卷

    docker volume rm <volume_name>
    
  • 将卷挂载到容器

    docker run -v <volume_name_or_host_path>:<container_path> <image_name>
    

    示例:

    docker run -v my_volume:/data ubuntu
    
5. Docker Compose 命令
  • 启动 Compose 服务

    docker-compose up
    
  • 后台启动 Compose 服务

    docker-compose up -d
    
  • 停止 Compose 服务

    docker-compose down
    
  • 查看 Compose 服务状态

    docker-compose ps
    
  • 重建 Compose 服务

    docker-compose up --build
    
  • 查看 Compose 服务日志

    docker-compose logs
    
6. Docker 镜像与容器的清理
  • 清理未使用的镜像、容器和网络

    docker system prune
    
  • 仅清理停止的容器

    docker container prune
    
  • 仅清理未使用的镜像

    docker image prune
    
  • 清理未使用的卷

    docker volume prune
    
  • 清理未使用的网络

    docker network prune
    
7. 其他常用命令
  • 查看 Docker 版本

    docker --version
    
  • 查看 Docker 守护进程日志

    journalctl -u docker.service
    
  • 显示 Docker 配置信息

    docker info
    
8. Docker 容器调试
  • 查看容器的进程列表

    docker top <container_id_or_name>
    
  • 查看容器的端口映射

    docker port <container_id_or_name>
    

威联通docker 使用方法

ssh代理

export http_proxy="http://192.168.50.22:7890"
export https_proxy="http://192.168.50.22:7890"
export no_proxy="192.168.50.0/24,localhost,127.0.0.1"

配置好以后可以可

威联通 Docker 配置代理拉取镜像

进入 Contaner Station 目录

cd /share/CACHEDEV1_DATA/.qpkg/container-station

编辑配置文件

vim script/run-docker.sh

在脚本末尾加上代理配置

# 代理
export http_proxy="http://192.168.50.22:7890"
export https_proxy="http://192.168.50.22:7890"
export no_proxy="192.168.50.0/24,localhost,127.0.0.1"

然后重启Contaner

docker项目

embydocker 开新版

1.启动命令:

docker run -d \
  --name emby \
  --network host \
  --restart always \
  --device /dev/dri:/dev/dri \
  -e UID=0 \
  -e GID=0 \
  -e GIDLIST=0,0 \
  -e http_proxy=http://192.168.1.22:7890 \
  -e https_proxy=http://192.168.1.22:7890 \
  -e no_proxy=localhost,127.0.0.1 \
  --privileged \
  -v /share/docker/emby/config:/config \
  -v /share/video:/share \
  amilys/embyserver:4.8.0.56

ps : docker容器创建可以使用代理,刮削需要

mysql:
#!/bin/sh
docker run \
-p 3307:3306 \
--name mysql8 \
--privileged=true \
--restart unless-stopped \
-v /user/local/server/mysql8.0.33/mysql:/etc/mysql \
-v /user/local/server/mysql8.0.33/logs:/logs \
-v /user/local/server/mysql8.0.33/data:/var/lib/mysql \
-v /user/local/server/mysql8.0.33/etc/localtime:/etc/localtime \
-e MYSQL_ROOT_PASSWORD=123456 \
-e MYSQL_ROOT_HOST='%' \
-d mysql:8.0.33

说明:

-p 端口映射 【这里有个特殊的地方是把3306映射给了3307、后续链接数据库的时候用3307链接不用3306】
--privileged=true 挂载文件权限设置
--restart unless-stopped 设置 开机后自动重启容器
-v /docker/mysql8.0.20/mysql:/etc/mysql \ 挂载配置文件【路径是上面创建的挂载路径】
-v /docker/mysql8.0.20/logs:/logs \  挂载日志【路径是上面创建的挂载路径】
-v /docker/mysql8.0.20/data:/var/lib/mysql \ 挂载数据文件 持久化到主机【路径是上面创建的挂载路径】
-v /etc/localtime:/etc/localtime 容器时间与宿主机同步
-e MYSQL_ROOT_PASSWORD=123456 设置密码
-e MYSQL_ROOT_HOST='%'  \设置其他ip访问
-d mysql:8.0.20 后台启动,mysql

执行:sh docker_insert_mysql8.0.20.sh

执行后,进入容器:

docker exec -it mysql8 bash

然后登陆,密码启动的时候已经指定,123456

 mysql -u root -p

设置权限,远程连接:

grant all PRIVILEGES on *.* to root@'%' WITH GRANT OPTION;
use mysql

update user set host='%' where user='root';
posted @ 2025-12-04 17:36  Sappy  阅读(13)  评论(0)    收藏  举报