极简Linux-Docker使用教程

–>>【Linux】CentOS-常用命令&新云服务器安装必看

Linux-Docker使用教程,我这里用的是Linux-CentOS

CentOS Docker 安装

https://www.runoob.com/docker/centos-docker-install.html

centos7配置Docker镜像加速器

https://www.cnblogs.com/djlsunshine/p/11375323.html

Docker Compose安装使用&其他

【x】https://www.runoob.com/docker/docker-compose.html不要用里面的下面地址,速度会特别慢!!!

【√】用这个https://cloud.tencent.com/developer/article/1339375 里面的

curl -L https://get.daocloud.io/docker/compose/releases/download/1.22.0/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose

然后输入docker-compose --version检查是否安装成功

【例子】在linux-centos上部署python项目

AAA 创建python项目并上传到linux上
参考:

  1. https://blog.csdn.net/u013282737/article/details/85233408
  2. https://blog.csdn.net/weixin_34064653/article/details/91923102
  • 遇到的问题:docker 制作镜像时无法安装flask
  • 解决方法:在Dockerfile中更换pip的安装源
Dockerfile使用的python3.7作为基础镜像 FROM python:3.7,但是执行
RUN pip install --no-cache-dir -r requirements.txt
是默认走了这个源,https://files.pythonhosted.org/packages,编译用时太久。

无赖修改成国内源来加快编译速度:
RUN pip install -i https://pypi.tuna.tsinghua.edu.cn/simple --no-cache-dir -r requirements.txt

BBB Dockerfile的内容&构建镜像

#基于的基础镜像
FROM python:3.6

#代码添加到code文件夹,后面可以通过进入容器中看的
ADD ./py /code

# 设置code文件夹是工作目录
WORKDIR /code

# 安装支持
RUN pip install -i https://pypi.tuna.tsinghua.edu.cn/simple --no-cache-dir -r requirements.txt

# 暴露端口
EXPOSE 5000

#当容器启动时,使用python3执行指定路径的py脚本
CMD ["python", "app.py"]

根据Dockerfile制作镜像的命令:docker build -t img_name:tag_name .
构建镜像,构建参数说明参考:http://www.runoob.com/docker/docker-build-command.html


CCC 【例子】运行镜像,生成并启动容器

执行命令:docker run -it -p 5000:5000 --name container_name IMAGE_ID

  • 这里碰到个坑,找不到制作的镜像,报Unable to find image ‘py_demo1:latest’ locally
  • 使用命令:docker run -it -p 5000:5000 --name container_name py_demo1(制作的docker镜像)
  • 解决方法: 最后的镜像填IMAGE_ID 就可以了docker run -it -p 5000:5000 --name con_py_demo1 e542a29fd603
-it:表示交互式终端的容器,非启动后立刻结束的容器

-p 5000:5000:表示将docker的5000端口,映射到Linux虚拟机的5000端口

                        也就是说,访问Linux虚拟机的5000端口,就是在访问docker容器的5000端口

--name container_name:给容器取个名字,嫌麻烦可以省去

img_name:容器是用哪个镜像启动的(一个容器,必须依赖一个镜像启动)
  • 直接输入exit 会退出且关闭容器,工程就stop了,再访问就访问不了了

  • Ctrl + C,会报错KeyboardInterrupt,工程就也stop了

  • 解决方法:

    • 使用命令:docker start 容器ID,去再启动容器后,就可以继续访问工程
    • 使用命令:docker exec -it 容器ID /bin/bash
    • 或者 docker attach 容器ID,重新进入容器后,可查看程序打印的日志
  • 但是,如果使用Ctrl + P + Q退出容器,就不会中断工程,等于退出容器后,还可访问容器的工程,再进入,也是使用命令:docker attach 容器ID

ctrl+d 退出容器且关闭, docker ps 查看无

ctrl+p+q 退出容器但不关闭


CCC 运行镜像
–name 服务名
-d 后台运行
-p 暴露端口:nginx 端口
docker-nginx-test 镜像名/IMAGE ID

docker run --name dockertest -d -p 4455:80 docker-nginx-test

DDD Linux-CentOS需要开启5000端口

firewall-cmd --zone=public --add-port=5000/tcp --permanent  #永久开启5000端口

firewall-cmd --reload #重启firewall 每次新添加端口都要
  • 遇到的问题:5000端口已经占用
  • 运行的命令:docker run -it -p 5000:5000 --name con_py_demo1 e542a29fd603
  • 解决:杀掉linux-centos运行的5000端口内容
    kill -9 $(netstat -nlp | grep :5000 | awk ‘{print $7}’ | awk -F"/" ‘{ print $1 }’)

docker容器镜像常用命令

1.查看当前运行的所有容器
docker ps -a
2.停止所有容器(container),这样才能够删除其中的images:
docker stop $(docker ps -a -q)
3.如果想要删除所有容器(container)的话再加一个指令:
docker rm $(docker ps -a -q)
4.查看当前有那些镜像(images)
docker images
5.删除镜像(images),通过镜像(images)的id来指定删除谁
docker rmi <image id>
6.想要删除镜像(images)id为<None>的image的话可以用
docker rmi $(docker images | grep "^<none>" | awk "{print $3}")
7.要删除全部镜像(images)的话
docker rmi $(docker images -q)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要安装 nvidia-docker,您可以按照以下步骤进行操作: 1. 确保您的计算机上已经正确安装了 NVIDIA 驱动程序。您可以使用以下命令来检查: ```shell nvidia-smi ``` 如果能够正确显示 NVIDIA GPU 信息,则表示驱动程序已经成功安装。 2. 安装 Docker CE。您可以按照 Docker 官方文档的说明进行安装。取决于您的操作系统,可以参考以下链接: - [Ubuntu 安装 Docker CE](https://docs.docker.com/engine/install/ubuntu/) - [CentOS 安装 Docker CE](https://docs.docker.com/engine/install/centos/) - [Windows 安装 Docker Desktop](https://docs.docker.com/desktop/windows/install/) - [Mac 安装 Docker Desktop](https://docs.docker.com/desktop/mac/install/) 3. 添加 NVIDIA 的 apt 仓库密钥。使用以下命令将密钥添加到系统中: ```shell curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | sudo apt-key add - ``` 4. 添加 NVIDIA 的 apt 仓库。根据您的操作系统版本选择合适的命令,例如: - Ubuntu 20.04: ```shell distribution=$(. /etc/os-release;echo $ID$VERSION_ID) curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.list | sudo tee /etc/apt/sources.list.d/nvidia-docker.list ``` - Ubuntu 18.04 / 16.04 或 Debian: ```shell distribution=$(. /etc/os-release;echo $ID$VERSION_ID) curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.list | \ sudo tee /etc/apt/sources.list.d/nvidia-docker.list sudo apt-get update ``` 5. 安装 nvidia-docker2 包。使用以下命令进行安装: ```shell sudo apt-get update sudo apt-get install -y nvidia-docker2 ``` 6. 重新启动 Docker 服务: ```shell sudo systemctl restart docker ``` 7. 确认 nvidia-docker 是否成功安装。您可以运行以下命令来验证: ```shell docker run --gpus all nvidia/cuda:11.0-base nvidia-smi ``` 如果能够正确显示 NVIDIA GPU 信息,则表示 nvidia-docker 安装成功。 请注意,上述步骤是针对 Ubuntu 和 Debian 系统的说明。如果您使用的是其他操作系统,请参考 NVIDIA 官方文档的指南进行安装。 希望这对您有所帮助!如有任何问题,请随时提问。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值