短视频开发 华为鸿蒙 paypal sas jvm EaselJS flowjs angularjs视频教程 小程序demo源码 多商户商城模板 oracle修改字段默认值 当前线程等待5秒 svn查看历史版本 python链接mysql数据库 python编程语言 java语法基础 java中继承 java实现多线程 java自定义异常 java可变参数 java怎么编程 图吧导航怎么样 高等数学同济第七版 java疯狂讲义 msdev ae脚本管理器 java语言程序设计 怎么设置迅雷为默认下载器 办公室复印机使用方法 js跳出for循环 0x000007a 现代操作系统 renderto foobar2000插件 win98序列号 计划任务软件 脚本文件 vue动态路由 ansys安装 cad怎么拉伸
当前位置: 首页 > 学习教程  > 编程语言

【Linux】Docker安装、镜像操作、容器操作、目录映射、网络模式

2020/10/8 20:20:32 文章标签:

1.Docker Docker是一个用Go语言写的开源的容器引擎,采用C/S架构,可以快速搭建一个轻量级的、可移植的、自给自足的容器。Docker主要包括以下几个部分 2.安装Docker Ubuntu系统安装。安装完之后会有一个地址为172.17.0.1的docker0网卡 apt install d…

1.Docker

Docker是一个用Go语言写的开源的容器引擎,采用C/S架构,可以快速搭建一个轻量级的、可移植的、自给自足的容器。Docker主要包括以下几个部分
在这里插入图片描述

2.安装Docker

Ubuntu系统安装。安装完之后会有一个地址为172.17.0.1的docker0网卡

apt install docker-ce -y
systemctl [start|stop|restart|status|...] docker
docker version|info

使用国内镜像

# 定制加速仓库(国内镜像站)
echo '{"registry-mirrors": ["https://kcmn5udq.mirror.aliyuncs.com"]}' > /etc/docker/daemon.json

# 重启服务
systemctl restart docker

3.Docker基本操作

3.1 镜像管理

搜索、获取、查看、历史

# 搜索镜像
docker search [image_name]

# 获取镜像
docker pull [image_name]

# 查看镜像
docker images <image_name>

标签、删除、导出、导入

# 添加标签
docker tag [old_image]:[old_version] [new_image]:[new_version]
# 例如 docker tag nginx:latest mynginx:v1.0

# 删除镜像(当镜像的引用计数为0时才真正删除)
docker rmi [image_id/image_name:image_version]
或
docker image rm [image_id/image_name:image_version]
# 例如 docker image rm mynginx:v1.0

# 导出镜像
docker save -o [包文件] [镜像] # 例如 docker save -o nginx.tar nginx:latest
或
docker save > [包文件] [镜像] 
或
docker save [镜像] > [包文件]

# 导入镜像
docker load < [image.tar] # 例如 docker load < nginx.tar
或
docker load --input [image.tar]
或
docker load -i [image.tar]
3.2 容器管理

我们把镜像运行成一个容器

查看容器(包括已停止运行的容器)

docker ps -a
或
docker container ls -a

# 若不加-a,则只显示正在运行的容器

创建并启动、启动、关闭、删除

# 以下命令的container可省略

# 创建并运行
docker run -itd --name <别名> <image_name> # 例如 docker run -itd --name mynginx nginx

# 启动
docker container start [container_id或别名]

# 停止
docker container stop [container_id或别名]

# 删除
docker rm [-f] [container_id]

登录、提交、日志、属性

# 以下命令的 container可省略

# 登录/进入容器
docker container exec -it b98d2e4322ac /bin/bash
# 例如 docker exec -it b98d2e4322ac /bin/bash
# 使用 exit 退出容器

# 提交
docker commit -m '改动信息' -a "作者信息" [container_id] [new_image:tag]
# 例如 docker commit -m "增加了python环境" -a "pan" b98d2e4322ac mynginx_python:v1.0

# 日志
docker logs [container_id]

# 属性
docker inspect [container_id]
3.3 数据管理

数据卷可以将宿主机的目录一一映射到容器中,在创建容器时使用-v参数指定映射关系即可

docker run -itd --name [容器名字] -v [宿主机文件]:[容器文件] [镜像名称]
3.4 网络管理

Docker网络实现方式主要有端口映射和网络模式两种。我们要在创建容器的时候就指定网络实现方式

3.4.1 端口映射
docker -P|p [镜像名称]

P表示随机端口映射到宿主机,p表示指定映射端口

# P随机
docker run -d -P nginx
# p指定
docker run -d -p 192.168.8.13:777:80 --name nginx-2 nginx
3.4.2 网络模式
docker network help|ls|create|

bridge模式(桥接模式) 类似于VMware虚拟机的nat模式,宿主机与容器通信需要经过网关涉及网络转换,造成资源消耗
host模式(主机模式) 是直接使用宿主机的东西,即容器与宿主机共享网络
none模式不做任何网络配置,需要自己定制

为提高效率,一般使用host模式更多

# 重点命令(必须掌握)
docker run --network=host -itd --name <容器名称> <镜像名称>
# 例如 docker run --network=host -itd --name nginx-host nginx

# 断开网络
docker network disconnect bridge-test nginx-new-bri

# 连接网络
docker network connect bridge-test nginx-new-bri

本文链接: http://www.dtmao.cc/news_show_250267.shtml

附件下载

相关教程

    暂无相关的数据...

共有条评论 网友评论

验证码: 看不清楚?