**环境 Centos 7 **
docker 安装

1停止禁用防火墙
systemctl stop firewalld
systemctl mask firewalld

禁用 selinux

setenforce 0

配置 yum 源,安装 docker

yum install docker-engine

启动测试

systemctl start docker

ifconfig 启动后可以看见 docker0

docker version

搜索 docker search
下载 docker pull busybox
查看帮助 docker help pull
查看镜像 docker images

导入镜像

[root@localhost ~]# docker imagesREPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
[root@localhost ~]# docker load <busybox.tar
c5183829c43c: Loading layer  1.36 MB/1.36 MB
Loaded image: busybox:latest32.77 kB/1.36 MB
[root@localhost ~]# docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
busybox             latest              f6e427c148a7        3 weeks ago         1.146 MB

导出镜像

docker save busybox >busybox.tar

导入所有文件

unzip docker_img.zip
cd   docker_images
for i in *;do docker load <${i};done

利用镜像启动容器

docker run -it busybox /bin/sh
docker run -it centos /bin/bash

查看容器列表

docker  ps

查看详细信息

docker inspect  21d2aeb977cc
docker inspect -f '{.NetworkSettings.IPAddress}' 21d2aeb977cc

docker 问题列表,及解答
问题:docker run -it busybox /bin/bash 报错问题
原因:
最后的命令是容器内部命令,容器内,存在才可以执行
可以不指定,不指定启动默认命令

问题:docker run -it centos 退出后,配置全部丢失
原因:
run 启动的是新的容器,老的容器退出后就停止了
启动管理一个老的容器可以使用 docker start|stop|restart

问题:老容器启动以后,怎么在进入?
docker exec -it 容器id /bin/bash
docker attach 容器id

exec 与 attach 的区别
exec 单独启动命令运行,与容器启动的终端无关
attach 不启动新的命令,直接连接 console 终端
exec 退出不会影响容器的运行
attach 退出后,容器结束

问题:如果我使用attach 连接容器后,怎么才能不结束容器?
解决方法:把容器放后台,使用快捷键 ctrl + pq

问题:attach 为什么退出后,容器会结束?
因为 attach 连接进容器的 pid 1 的进程,当 attach 结束时候,pid 为 1 的进程被结束
所有整个容器被销毁

问题:docker run -it nginx 没响应?
因为 nginx 启动的默认 cmd 时 nginx daemon,该进程不是一个交互式的进程

docker run 使用
-i 交互式的
-t 分配终端
-d 把容器放在后台运行

docker  run  -it    centos   cmd   启动一个交互式的容器,在前台运行
docker  run  -d    centos   cmd   启动一个非交互式的容器,在后台运行
docker  run  -itd  centos   cmd   启动一个交互式的容器,在后台运行

测试
docker run -it centos /bin/bash 成功
docker run -d centos /bin/bash 失败
docker run -itd centos /bin/bash 成功

docker run -it nginx nginx 失败
docker run -d nginx nginx 失败
docker run -itd nginx nginx 失败

docker run -it nginx nginx -g “daemon off;” 成功
docker run -d nginx nginx -g “daemon off;” 成功
docker run -itd nginx nginx -g “daemon off;” 成功

交互式的进程启动要使用 it , 非交互式的使用 d ,交互式的放后台使用 itd
启动 bash 的正确姿势 docker run -itd centos
启动 nginx 的正确姿势 docker run -d -p 80:80 nginx

小练习: 启动一个 nginx 的容器,修改默认首页为 “hello world”

设置IP伪装访问网络

[root@room9pc19 docker]# ifconfig
enp2s0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500inet 172.40.50.119  netmask 255.255.255.0  broadcast 172.40.50.255ether 94:de:80:81:e3:53  txqueuelen 1000  (Ethernet)RX packets 5947707  bytes 593709850 (566.2 MiB)RX errors 0  dropped 0  overruns 0  frame 0TX packets 12611909  bytes 18788418441 (17.4 GiB)TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

物理机上查找上网用的网卡
打开路由转发

sysctl -w net.ipv4.ip_forward=1

设置伪装上网

[root@room9pc19 docker]# iptables -t nat -I POSTROUTING -s 192.168.4.0/24 -o enp2s0 -j MASQUERADE

在虚拟机里面设置默认路由

ip route replace default via 192.168.4.254

模拟 docker 端口绑定转发

iptables -t nat -I PREROUTING -d 192.168.4.10 -p tcp --dport 8080 -i eth0 -j DNAT --to 172.17.0.3:80
docker  run -d -p 8080:80 nginx

Centos 7 安装 docker相关推荐

  1. centos 7 安装docker 并设置阿里云镜像仓库

    centos 7 安装docker 并设置阿里云镜像仓库 yum install -y wget yum update yum install -y deltarpm ================ ...

  2. CentOS上安装Docker及docker常用命令

    这里写目录标题 一.在CentOS上安装Docker Engine 1.Docker Engine安装 1.1 卸载以前的docker 1.2 安装方法 1.2.1 用repository方法安装 0 ...

  3. 在CentOS上安装Docker的步骤

    在CentOS上安装Docker的步骤如下: 更新系统: sudo yum update 添加Docker官方存储库: sudo yum install -y yum-utils sudo yum-c ...

  4. Docker系列 一. CentOS上安装Docker

    1.环境&工具: 阿里云轻量级服务器.Centos7系统.FinalShell(其他连接客户端也可以) 2.步骤: 2.1 安装docker 2.1.1 以root身份登录服务器 2.1.2查 ...

  5. Docker实践:Centos下安装Docker并简单的使用

    1 环境介绍 版本信息: [root@localhost]#  cat /proc/version Linux version 3.10.0-514.el7.x86_64 (builder@kbuil ...

  6. Linux 64位 CentOS下安装 Docker 容器,启动、停止

    一.Docker简介 Docker 提供了一个可以运行你的应用程序的封套(envelope),或者说容器,是轻量级的"容器引擎+映像仓库",在LXC(linux轻量级容器)的基础上 ...

  7. CentOS上安装Docker (图解)

    更简单的办法:三分钟装好 Docker ( 图解) 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家.点击跳转到教程. // 用上面那个办法吧,简单多了,下面这个方法看 ...

  8. CentOS 8 安装 Docker  报错  requires containerd.io >= 1.4.1, but none of the providers can be installed

    CentOS 8.1安装 Docker 官方参考地址:https://docs.docker.com/install/linux/docker-ce/centos/ 里面包含包下载地址:https:/ ...

  9. CentOS 7 安装Docker

    CentOS Docker 安装 Docker支持CentOS版本 · 在CentOS 7 上,要求系统64位.系统内核版本为 3.10 以上 · CentOS-6.5 上,要求系统64位.系统内核版 ...

  10. 【Linux】CentOS 7 安装 docker

    1. 确定是CentOS 7 及以上版本 cat /etc/redhat-release 2. yum安装gcc相关 yum -y install gcc yum -y install gcc-c++ ...

最新文章

  1. predicate 列存储索引扫描_在SQL SERVER中导致索引查找变成索引扫描的问题分析
  2. linux lua ide,mac os上开发lua用什么ide
  3. EF Core 3 的 40 个中断性变更
  4. 一些常用正则表达式片段的分析
  5. Kali渗透测试——利用metasploit攻击靶机WinXP SP1
  6. 小团队项目管理开源工具_超越指标:如何在当今的开源项目中以团队方式运作
  7. 离婚冷静期有用吗?全国哪个省份的情侣最想结婚?大数据告诉你
  8. codeforces 369C Valera and Elections
  9. mqtt之C++编译
  10. Invisible Perturbations: Physical Adversarial Examples Exploiting the Rolling Shutter Effect 论文解读
  11. 图像分类系统之功能实现概要
  12. 077 logging模块
  13. 数据结构c语言版算法设计题,数据结构题集(C语言版)算法设计答案
  14. 安装SQL 2008的错误 等待数据库引擎恢复句柄失败。请查看 SQL Server 错误日志以了解可能的原因
  15. SVN 分支主干的合并
  16. 单测量矢量多目标精确DOA估计的高效稀疏表示算法
  17. 联想智能云教室安win7_联想智能云教室云部署.PDF
  18. 钢板弹簧matlab,Matlab/GUI在钢板弹簧悬架设计中的应用
  19. 思科模拟配置文件服务器,思科模拟服务器配置教程
  20. 聪明的猴子(BZOJ 2429)

热门文章

  1. torch中manual_seed的作用
  2. 基于ESO的永磁同步电机无感FOC 采用线性扩张状态观测器(LESO)估计电机反电势,利用锁相环从反电势中提取位置和转速信息
  3. ‘When we dream, we have the perfect chemical canvas for intense visions’ “入梦时,我们就拥有了能够呈现强烈幻象的完美化学画布”
  4. 这帮死磕技术的理工男造了一支笔
  5. 做好SEO必备的三步骤
  6. 欧标IEC62056 兰吉尔关口电表无线抄表数据采集方案
  7. ansible从入门到放弃
  8. squirrelmail 小松鼠的安装和配置
  9. ASP.NET.3.5揭秘
  10. SuperMap iDesktop常见问题解答集锦(六)