docker的使用

docker的使用

1.首先,拉取一个镜像,如 docker pull 镜像名称

复制代码
# 官方镜像
docker image pull 镜像名称 
# 或简写为 
docker pull 镜像名称
# 比如
docker pull ubuntu
docker pull ubuntu:16.04

# 个人镜像
docker pull 仓库名称/镜像名称
docker pull xunmi/django

# 第三方仓库拉去
docker pull 第三方仓库地址/仓库名称/镜像名称
docker pull hub.c.163.com/library/mysql:latest
(默认仓库名为library,所有从官方获取镜像相当于`sudo docker image pull library/镜像名称`)

2.删除镜像的命令为:

复制代码
docker image rm 镜像名或镜像ID 或 docker rmi 镜像名或镜像ID
docker image rm hello-world
docker rmi 9e64176cd8a2

3.将镜像下载下来之后,就可以加载镜像了

docker run [可选参数] 镜像名 [向启动容器中传入的命令]

常用可选参数 作用

-i 表示以《交互模式》运行容器。

-d 会创建一个守护式容器在后台运行(这样创建容器后不会自动登录容器)。

-t 表示容器启动后会进入其命令行。加入这两个参数后,容器创建就能登录进去。即分配一个伪终端。

--name 为创建的容器命名。(默认会随机给名字,不支持中文字符!!!)

-v 表示目录映射关系,即宿主机目录:容器中目录。注意:最好做目录映射,在宿主机上做修改,然后共享到容器上。

-p 表示端口映射,即宿主机端口:容器中端口。 比如:-p 8080:80 就是将容器中的80端口,映射到主机中的8080端口

--network=host 表示将主机的网络环境映射到容器中,使容器的网络与主机相同。每个 Docker 容器都有自己的网络连接空间连接到虚拟 LAN。使用此命令则会让容器和主机共享一个网络空间。

例子:

docker run -it --name=test_model 5d0da3dc9764

其中最后一个就是镜像名。

退出容器内部直接使用ctrl+d就可以了,此时会将这个容器运行也给暂停,如果只是想暂时退出的话,则可以先ctrl+p,再ctrl+q

4.镜像名称的查看可以根据docker ps进行查看。

复制代码
# 查看当前所有正在运行的容器
docker ps
# 查看当前所有的容器
docker ps -a
# 使用过滤器(除了name外,常用的还可以指定id:id= 、所有停止的容器:status=exited,正在运行的容器:status=running 等)
docker ps -f name=指定的名字
# 显示2个上次创建的容器(2可以改变)
docker ps -n 2
# 显示最新创建的容器(包括所有状态)
docker ps -l
# 仅显示ip
docker ps -q
 # 显示容器大小
docker ps -s

5.关闭容器部分

复制代码
# 停止容器
docker container stop 容器名或容器id
# 或可简写为
docker stop 容器名或容器id

# 强制关闭容器
docker container kill 容器名或容器id
# 或可简写为
docker kill 容器名或容器id

# 启动容器
docker container start 容器名或容器id
# 或可简写为
docker start 容器名或容器id
#进入容器可以通过
docker attach 容器id或者名字
  • 如果我们成功启动或者关闭一个容器的话,会返回容器名或者容器id
  • stop和kill的区别: stop是比较优雅的关掉一个容器,类似我们正常退出一个软件,而kill是当一个进程出现意外无法正常关闭的时候,我们强行进行关闭,有点像我们使用任务管理器进行结束进程操作

6.删除容器的命令

复制代码
# 使用rm删除容器
docker rm 容器名或容器id
# 列如
docker rm docker-test

7.将容器制作成镜像

我们为什么要把容器制作成镜像?

  • 镜像可以看作为是一种备份,如果我们后期环境出现了问题,可以还原到早期镜像。

  • 镜像便于传播,可以让自己的其他设备或他人的重复利用变得更加简单容易。

    将容器制作成镜像

    docker commit 容器名 镜像名

    镜像打包备份(打包备份的文件会自动存放在当前命令行的路径下,如果想让保存的文件可以打开,可以加.tar后缀)

    docker save -o 保存的文件名 镜像名

    镜像解压

    docker load -i 文件路径/备份文件

上述部分为对docker的基本使用,并不涉及对具体容器部分的具体操作,接下来是对容器环境配置等的操作

如对上面建立的容器配置一个python运行环境。使用的环境为ubuntu,首先,下载一个anaconda,使用以下命令。

复制代码
wget https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/Anaconda3-5.1.0-Linux-x86_64.sh
若没有wegt的话,则使用 apt-get install wget
若出现unable locate package wget,则进行apt-get update,然后再使用上述命令。

8.如何挂载本地目录

1.在Docker中,可以通过挂载目录的方式将宿主机上的目录共享到容器中。这样可以实现容器和宿主机之间的数据共享,方便开发和部署。具体挂载目录的方式如下:

bash 复制代码
docker run -v /宿主机目录:/容器目录 image_name

其中,/宿主机目录是宿主机上的目录路径,/容器目录是容器中的目录路径,image_name是要启动的镜像名称。

或者是将其复制到容器内部

docker cp 宿主机路径 容器名称:/容器内路径

从零开始的Docker Desktop使用,Docker快速上手 ( ̄︶ ̄) Docker介绍和基础使用-CSDN博客

相关推荐
bemyrunningdog14 分钟前
Mock数据
linux·运维·ubuntu
退役小学生呀1 小时前
十、K8s集群资源合理化分配
linux·云原生·容器·kubernetes·k8s
PHOSKEY1 小时前
闪测仪应用案例丨手机中框如何突破「尺寸检测」瓶颈?
运维·智能手机·自动化
JIAKSK2 小时前
VitePress 接入百度统计:全面教程与优化指南
运维·数据可视化
网硕互联的小客服2 小时前
未来趋势:AI与量子计算对服务器安全的影响
运维·服务器·网络·网络安全·量子计算
宇钶宇夕2 小时前
STEP 7 MicroWIN SMART V2.2 的详细安装步骤及注意事项
运维·服务器·程序人生·自动化
czhc11400756633 小时前
Linux 77 FTP
linux·运维·服务器
魂尾ac3 小时前
Centos Docker 安装(100%成功)
linux·docker·centos
天若有情6733 小时前
【Linux】02_CentOS 7 开机运行级别详解:从基础概念到实战配置
linux·运维·centos
張萠飛4 小时前
Linux中程序的limits中的Max open files的配置由哪些参数决定
linux·运维·服务器