docker安装使用 已经问题集锦

Source

DOCKER
唯一的一款操作系统虚拟化
1:基础设施即服务IAAS
如虚拟机 服务器 存储 负载均衡 网络
2:平台即服务PAAS
为云端用户提供可执行环境 数据库 网站 开发工具
3:软件即服务SAAS
邮件系统 在线操作 在线办公

容器:必须指定镜像 可写

镜像:只读 打包的整个环境

仓库:存储 仓库分为公开仓库(Public)和私有仓库(Private)两种形

yum install yum-utils -y
yum install device-mapper-persistent-data -y
yum install -y yum-utils device-mapper-persistent-data lvm2
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
yum install docker-ce -y
systemctl start docker
docker version

使用方法

docker images 查看镜像
docker search centos7 模糊搜索
docker pull centos/postgresql-96-centos7 拉取镜像
++++++++++++++++++++++++++++++++++++++++
加速器
cat /etc/docker/daemon.json
{
“registry-mirrors”:[“https://78sle5y5.mirrir.aliyuncs.com”]
}
+++++++++++++++++++++++++++++++++++++++

docker pull busybox
+++++++++++++++++++++++++++++++++++++++
docker run -it(交互式虚拟控制台) --name(自定义名字) test1 busybox:latest 容器启动
docker exec -it test2 /bin/sh
docker exec -it d8ea5a058dcb /bin/sh
docker exec -it d /bin/sh

+++++++++++++++++++++++++++++++++++++++
docker ps
查看当前系统在线容器

docker ps -a 查看所有
docker start test1 启动
docker attach test1 进入
ctrl +pq 容器不停的情况下 退出容器
+++++++++++++++++++++++++++++++++++++++
容器名称 id 不能一样
docker rm -f test1 强制删除
ubuntu:

删除

docker rm -rf `docker ps -a -q ` 

删除所有

docker rmi 删除一个镜像
docker rmi -f `docker images -a -q` 
docker cp /etc/passwd test1:/tmp/

复制

备份还原
docker save -o test_mysql openshift/mysql-55-centos7
scp 发送给silent
docker load < test_mysql

镜像----> 容器 – – -- >镜像
docker export -o lnmp serene_morse
docker import lnmp lnmp:v100

commit

网络
bridge
nat
host-only

docker UI
none 
host
bridge(NAT DHCP)
contanier 两个或多个容器间共享网络空间

本地网络 怎么通信
ls
create -d bridge --subnet 192.168.3.0/24 --gateway 192.168.3.254
inspect
rm
connect (添加网卡 /本地不同子网容器通信)
disconnect
添加一张
docker
docker network create lan1
docker run -it --name test1 busybox /bin/sh
docker run -it --name test2 --network=lan1 busybox /bin/sh
docker network connect lan1 test1

docker 三剑客
docker machine
1:管理节点 部署docker
2:添加用户 docker user
3:配sudo 不需要密码执行任何权限
4:脚本创建 机器
5:配置环境变量
6:连接测试
自动部署docker/可以安全管理远程机器 (基于ssl 一键升级 可以添加移除
docker compose

CenTos7
问题1:iptables拒绝端口映射
解决方法:
pkill -9 docker
iptables -t nat -F
ifconfig docker0 down
brctl delbr docker0
systemctl restart dicker
systemctl restart docker.service
问题2:宿主机ssh连接容器权限不够
解决方法:
将容易公钥发送后 修改 /etc/ssh/sshd_config

#PasswordAuthentication yes
PasswordAuthentication yes

chmod 755 ~/.ssh/
chmod 600 ~/.ssh/id_rsa ~/.ssh/id_rsa.pub
chmod 644 ~/.ssh/known_hosts

问题3:docker 容器没有ip
解决方法:查看响应容易版本
cat /proc/version
根据 相应版本安装方法安装网络工具包
yum -y install net-tools (centos7)
问题4:容器 使用root用户登陆
解决方法:
groupadd docker
gpasswd -a ${USER} docker
systemctl restart docker
docker exec -it -u root (容器编号) /bin/bash