docker 使用

本文详细介绍了如何在Windows Subsystem for Linux (WSL)中高效使用Docker,包括镜像操作(拉取、管理、创建),容器启动、管理(运行、停止、重启、删除)以及关键命令如-v、-i、-t等的实战应用。涵盖了从查找镜像、创建镜像到容器网络配置的全方位指南。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

docker使用

docker

1、WSL中使用docker

sudo service docker start

镜像

1、列出镜像列表

docker images
docker image ls 
docker image list 

选项说明:

REPOSITORY: 镜像的仓库源
TAG:镜像的标签
IMAGE ID: 镜像ID

一个仓库源可以有多个TAG,代表不同版本,所以使用REPOSITORY:TAG来定义不同的镜像

2、运行镜像

docker run -it ubuntu:15.10 bash

参数说明:

-v : 使用Volumes挂载数据.
-i : 交互式
-t : 终端
-d : 后台模式
-P : 将容器内部使用的网络端口随机映射到我们使用的主机上
-p : 通过-p参数来设置不一样的端口,例如: docker run -d -p 8888:8888 镜像名
--gpus all 需要加这个,才能支持GPU
bash 希望有个交互式Shell, 因此用的是bash

举例:

docker run --gpus all -p 8888:8888 tensorflow/tensorflow:latest-gpu-py3-jupyter

3、查找镜像

可以通过以下网站来搜索镜像:

https://hub.docker.com

4、拖取镜像

docker pull 镜像地址

tensorflow/tensorflow
  上图是官方的tensorflow,Tags下有各种版本,可以直接pull,默认是py2, 除非tag里指定py3.

5、删除镜像

docker rmi 镜像名

6、创建镜像

这里是重点, 包括创建、更新镜像.
有两种方法:

  • 从已创建的容器中更新镜像, 并且提交这个镜像.
docker run -it 镜像名 /bin/bash 

然后在shell中安装其他的环境, 安装完成后:

docker commit -m="描述信息" -a="镜像作者" 容器id 目标镜像名
  • 从头创建镜像
    需要创建一个Dockerfile文件, 用来告诉Docker如何构建镜像
""" Dockerfile文件中的示例内容.
FROM    centos:6.7
MAINTAINER      Fisher "fisher@sudops.com"

RUN     /bin/echo 'root:123456' |chpasswd
RUN     useradd runoob
RUN     /bin/echo 'runoob:123456' |chpasswd
RUN     /bin/echo -e "LANG=\"en_US.UTF-8\"" >/etc/default/local
EXPOSE  22
EXPOSE  80
CMD     /usr/sbin/sshd -D
"""

每个指令的前缀都必须是大写的
FROM, 指定使用哪个镜像源
RUN, 告诉docker在镜像中执行命令,安装了什么

接着build Dockerfile

docker build -t 镜像名 Dockerfile文件所在目录
docker build -t runoob/centos:6.7 .    其中.是dockerfile的目录所在

容器

1、查看容器

docker ps -a     查看所有容器(包括停止的, 运行的)
docker ps        查看所有运行中的容器

2、运行容器

docker start 容器id

3、停止容器

docker stop 容器id 

4、重启容器

docker restart 容器id

5、删除容器

docker rm -f 容器id :      删除指定id的容器
docker container prune :    清理掉所有处于终止状态的容器 

6、容器交互

  • 查看容器内部运行的进程
docker top 容器id
  • 查看容器内部标准输出:
docker logs -f 容器id
  • 退出容器交互
exit

7、导入导出容器快照

导出容器快照
docker export 容器id > 本地文件
docker export 1e560fca3906 > ubuntu.tar   

导入容器快照
docker import url or 目录 镜像名

8、进入后台运行的容器

docker exec -it 容器id /bin/bash

9、容器端口

  • 查看容器端口映射情况
docker port 容器id :      可以查看某个容器的情况
docker ps :               通过PORTS查看端口变化
  • 端口连接
-P :         容器内部端口随机绑定到主机端口
-p :         容器内部端口绑定到指定的主机端口

  举例:

docker run -d -p 5000:5000 training/webapp python app.py

  将容器的5000端口绑定到主机的5000端口上

  • 指定容器绑定的网络地址
docker run -d -p 127.0.0.1:5001:5000 training/webapp python app.py

  这样就可以通过127.0.0.1:5001来访问容器的5000端口

  • 绑定udp接口
docker run -d -p 127.0.0.1:5000:5000/udp training/webapp python app.py
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值