docker笔记

本文详细介绍了Docker的各种命令用法,包括启动、挂载卷、端口映射等,并展示了如何在Docker中运行TensorFlow。同时,讲解了如何在GPU环境下运行TensorFlow Docker容器,包括安装Nvidia容器工具包和验证GPU支持。此外,还提供了启动TensorFlow Jupyter notebook服务器的步骤。
摘要由CSDN通过智能技术生成
docker run -it --rm -v /var/run/docker.sock:/var/run/docker.sock -v /home/che:/data -e CHE_PORT=18081 eclipse/che start --fast
docker run -d -p --oom-kill-disable -p 8081:80 -m 512m nginx
docker run -d -e JAVA_OPTS="-Xms512m -Xmx512m" java
iptables -t nat -A DOCKER -p tcp --dport 10000 -j DNAT --to-destination 172.17.0.4:8080
sudo yum install -y yum-utils  device-mapper-persistent-data  lvm2
sudo yum-config-manager --add-repo  https://download.docker.com/linux/centos/docker-ce.repo
docker run [-p [ip]:hostPort:containerPort] -it -v /var/run/docker.sock:/var/run/docker.sock -v /usr/local/eclipse-che:/data eclipse/che start [--fast]
sudo systemctl start docker
docker inspect container_id| grep IPAddress  或者docker inspect [-f {{".jsonKey"}}] imageId
docker exec -it “container-id” /bin/bash 
iptables -t nat -A DOCKER -p tcp –dport port -j DNAT –to-destination container_ip:container_port
docker history imageId [--no-trunc]
docker save -o fileName.tar imageName
docker run -v d:\redis.conf:/data/redis.conf --name redis-test –restart=always -p 6379:6379 -d redis:5.0.3 redis-server /data/redis.conf  --appendonly yes --requirepass "your passwd"
-d 后台模式启动
-p 6379:6379 :将容器内端口映射到宿主机端口(右边映射到左边)
-v /d/docker/redis/data:/data则指定了“D:\Docker\redis\data”目录映射到"/data"用来存放数据文件
redis-server –appendonly yes : 在容器执行redis-server启动命令,并打开redis持久化配置
requirepass “your passwd” :设置认证密码
–restart=always : 随docker启动而启动
docker logs -f --tail 10 contrainID

为了避免每次使用docker命令都要用特殊身份,可以将当前用户加入安装种自动创建的docker用户组,用户更新组信息后,退出并重新登录后即可生效:

$ sudo usermod -aG docker USER_NAME

启动 TensorFlow Docker 容器

要启动配置 TensorFlow 的容器,请使用以下命令格式:

docker run [-it] [--rm] [-p hostPort:containerPort] tensorflow/tensorflow[:tag] [command]

有关详情,请参阅 Docker 运行参考文档

使用仅支持 CPU 的映像的示例

我们使用带 latest 标记的映像验证 TensorFlow 安装效果。Docker 会在首次运行时下载新的 TensorFlow 映像: 

docker run -it --rm tensorflow/tensorflow \
       python -c "import tensorflow as tf; print(tf.reduce_sum(tf.random.normal([1000, 1000])))"

成功:TensorFlow 现已安装完毕。请查看教程以开始使用。

我们来演示更多 TensorFlow Docker 方案。在配置 TensorFlow 的容器中启动 bash shell 会话: 

docker run -it tensorflow/tensorflow bash

在此容器中,您可以启动 python 会话并导入 TensorFlow

要在容器内运行在主机上开发的 TensorFlow 程序,请装载主机目录并更改容器的工作目录 (-v hostDir:containerDir -w workDir)

docker run -it --rm -v $PWD:/tmp -w /tmp tensorflow/tensorflow python ./script.py

向主机公开在容器中创建的文件时,可能会出现权限问题。通常情况下,最好修改主机系统上的文件。

使用支持 Python 3 的每夜版 TensorFlow 启动 Jupyter 笔记本服务器:

docker run -it -p 8888:8888 tensorflow/tensorflow:nightly-py3-jupyter

按照说明在主机网络浏览器中打开以下网址:http://127.0.0.1:8888/?token=...

GPU 支持

Docker 是在 GPU 上运行 TensorFlow 的最简单方法,因为主机只需安装 NVIDIA® 驱动程序,而不必安装 NVIDIA® CUDA® 工具包。

安装 Nvidia 容器工具包以向 Docker 添加 NVIDIA® GPU 支持。nvidia-container-runtime 仅适用于 Linux。有关详情,请参阅 nvidia-container-runtime 平台支持常见问题解答

检查 GPU 是否可用:

lspci | grep -i nvidia

验证 nvidia-docker 安装效果:

docker run --gpus all --rm nvidia/cuda nvidia-smi

注意nvidia-docker v2 使用 --runtime=nvidia,而不是 --gpus allnvidia-docker v1 使用 nvidia-docker 别名,而不是 --runtime=nvidia 或 --gpus all 命令行标记。

使用支持 GPU 的映像的示例

下载并运行支持 GPU 的 TensorFlow 映像(可能需要几分钟的时间):

docker run --gpus all -it --rm tensorflow/tensorflow:latest-gpu \
       python -c "import tensorflow as tf; print(tf.reduce_sum(tf.random.normal([1000, 1000])))"

设置支持 GPU 的映像可能需要一段时间。如果重复运行基于 GPU 的脚本,您可以使用 docker exec 重用容器。

使用最新的 TensorFlow GPU 映像在容器中启动 bash shell 会话:

docker run --gpus all -it tensorflow/tensorflow:latest-gpu bash
C:\Users\用户名\AppData\Local\Docker\wsl\data\ext4.vhdx
wsl --export docker-desktop-data "D:\\docker-image\\docker-desktop-data.tar"
wsl --unregister docker-desktop-data
wsl --import docker-desktop-data "D:\\docker-image\\wsl" "D:\\docker-image\\docker-desktop-data.tar" --version 2
docker update --restart=always redis-test
sudo docker-compose up -d
docker save -o [tar包真实路径] [镜像名 ]
docker load -i [tar包真实路径]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Bob.Yang

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值