Docker-readme
centos7 安装
yum替换国内源
- 备份:
cp /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.bak
- 替换国内源
#阿里
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
#163
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.163.com/.help/CentOS7-Base-163.repo
- 清理yum缓存
yum clean all # 清除系统所有的yum缓存
yum makecache # 生成yum缓存
安装docker
- 更新环境
yum -y update
- 安装需要的软件包, yum-util 提供yum-config-manager功能,另外两个是devicemapper驱动依赖的
yum install -y yum-utils device-mapper-persistent-data lvm2
- yum安装docker
#阿里云源
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
#清华大学源
yum-config-manager --add-repo https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/centos/docker-ce.repo
- 可以查看所有仓库中所有docker版本,并选择特定版本安装
yum list docker-ce --showduplicates | sort -r
- 安装docker
yum install docker-ce #由于repo中默认只开启stable仓库,故这里安装的是最新稳定版
yum install <FQPN> # 例如:sudo yum install docker-ce-17.12.0.ce
- 启动并加入开机启动
systemctl start docker
systemctl enable docker
- 验证
docker version
- 卸载旧版本的安装
yum erase docker-common-2:1.12.6-68.gitec8512b.el7.centos.x86_64
yum remove docker docker-common docker-selinux docker-engine
- 修改默认存储路径
vim /usr/lib/systemd/system/docker.service
# EXECStart的后面增加:
ExecStart=/usr/bin/dockerd --graph /data/docker
- docker换国内源
vim /etc/docker/daemon.json
{
"registry-mirrors": [
"https://docker.mirrors.ustc.edu.cn",
"https://kfwkfulq.mirror.aliyuncs.com",
"https://2lqq34jg.mirror.aliyuncs.com",
"https://pee6w651.mirror.aliyuncs.com",
"https://registry.docker-cn.com",
"http://hub-mirror.c.163.com"
],
"dns": ["8.8.8.8","8.8.4.4"]
}
#重启
service docker restart
- 安装docker-compose
# 安装epel源
yum install -y epel-release
# 安装docker-compose
yum install -y docker-compose
docker部分
结构
1.资源库 : 公有/私有
2.镜像 image
3.容器 container
资源库
官方:
https://hub.docker.com/_/centos
私有:
#上传资源
docker push 192.168.112.136:5000/busybox
#拉取资源
docker pull 192.168.112.136:5000/busybox
镜像相关
#镜像列表
docker image ls
#搜索镜像
docker search tomcat
#拉镜像 pull后:镜像明:TAG
docker pull tomcat:jdk8-adoptopenjdk-openj9
#镜像删除
docker image rm #id/#镜像名
容器相关
初始化容器
docker run --name mysql5.7 -p 13306:3306 -v /home/geddon/data/app/docker/mysql5.7/data:/var/lib/mysql -v /home/geddon/data/app/docker/mysql5.7/conf.d:/etc/mysql/conf.d -v /home/geddon/data/app/docker/mysql5.7/conf/my.cnf:/etc/mysql/my.cnf -e MYSQL_ROOT_PASSWORD=mysqldba -d mysql:5.7
- -e:参数
- -v:宿主机和容器映射
- -d:后台运行
- –name:容器名称
- 结尾为镜像名:版本号
容器常用命令
#启动容器
docker start #容器名
#停止容器
docker stop #容器名
#查看容器列表
docker container ls -a
#删除容器
docker container rm #容器名/#ID
#查看运行中的容器
docker ps
#查看日志
docker logs -t -f #容器名
#进入容器
docker exec -it #容器名 /bin/bash
#导入本地镜像
docker load -i xxx.tar
制作镜像(build)
https://blog.51cto.com/littledevil/1916292
Dockerfile说明
https://www.runoob.com/docker/docker-dockerfile.html
容器单向通信(link)
https://www.cnblogs.com/panwenbin-logs/p/11177607.html
容器双向通信(bridge)
# 简单建立网桥
docker network create db
# 删除网桥
docker network rm db
# 让指定容器连接网桥
docker network connect db #容器名
# 让容器断开网桥
docker network disconnect db #容器名
https://www.jianshu.com/p/bf8eb25d180e
共享目录(volumes)
https://www.cnblogs.com/robinunix/p/12795442.html
跨宿主机容器通信
# weave
https://blog.csdn.net/fsx2550553488/article/details/80474773
# openvswitch
https://www.jianshu.com/p/72d501efa9e6
docker-compose
#安装EPEL源
yum install -y epel-release
#安装python-pip
yum install -y python-pip
yum install -y python3-pip#python3
#安装docker-compose
pip3 install docker-compose --default-timeout=100
#验证是否安装成功
docker-compose -version
常用命令
https://www.cnblogs.com/minseo/p/11548177.html