docker笔记
第一章节: DOCKER的安装与使用
1、Docker 要求 CentOS 系统的内核版本高于 3.10 ,查看本页面的前提条件来验证你的CentOS 版本是否支持 Docker 。
通过 uname -r 命令查看你当前的内核版本:
[root@runoob~]# uname -r
2、安装docker
[root@runoob~]# yum -y install docker
docker已分为社区版企业版
更改yum源:将https://pan.baidu.com/s/1t3zzVwyi2hxMWdq5AeLIyA文件覆盖到
/etc/yum.repos.d目录下
sudo yum install docker-ce
container-selinux >= 2.9
这个报错是container-selinux版本低或者是没安装的原因
yum 安装container-selinux 一般的yum源又找不到这个包
需要安装epel源 才能yum安装container-selinux
然后在安装docker-ce就可以了。
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
yum install epel-release #阿里云上的epel源
然后yum install container-selinux
3、启动 Docker 后台服务
[root@runoob~]# service docker start
4、测试运行 hello-world
[root@runoob~]#docker run hello-world
5、修改镜像仓库地址
vim /etc/docker/daemon.json 修改端口镜像仓库地址
{"registry-mirrors": ["http://ef017c13.m.daocloud.io/"],"insecure-registries": ["11.4.76.193"] }
重启:
systemctl daemon-reload
systemctl restart docker
6、启动容器
runoob@runoob:~$dockerrun-dubuntu:15.10/bin/sh-c"while true; do echo hello world; sleep 1; done"
2b1b7a428627c51ab8810d541d759f072b4fc75487eed05812646b8534a2fe63
7、查看正在运行的容器
runoob@runoob:~$dockerps
CONTAINER ID:容器ID
NAMES:自动分配的容器名称
8、查看容器日志
runoob@runoob:~$dockerlogscontainer_name
9、停止容器
runoob@runoob:~$dockerstopcontainer_name
9、查看本地镜像
runoob@runoob:~$dockerimages
10、拉取镜像pull
runoob@runoob:~$dockerpullregistry.cn-hangzhou.aliyuncs.com/chainone/centos7-jdk8
11、删除镜像
runoob@runoob:~$dockerrmi-fimage_id
dockerrm$(dockerps-a-q)
12、 进入容器
docker attach 44fc0f0582d9
sudo docker exec -it 775c7c9ee1e1 /bin/sh
13、使用特权privileged
普通模式下,root只是一个普通用户,没有修改系统配置的权限,如果要禁用THP之类的设置需要使用特权模式。-t -i开启终端输入;-d 在后台运行
docker run --privileged -t -i 11.4.76.193/redis/redis:pro /bin/sh
当利用 docker run 来创建容器时,Docker 在后台运行的标准操作包括:
检查本地是否存在指定的镜像,不存在就从公有仓库下载
利用镜像创建并启动一个容器
分配一个文件系统,并在只读的镜像层外面挂载一层可读写层
从宿主主机配置的网桥接口中桥接一个虚拟接口到容器中去
从地址池配置一个 ip 地址给容器
执行用户指定的应用程序
执行完毕后容器被终止
14、获取docker输入信息
sudo docker logs insane_babbage
#第二章:使用dockerfile打包镜像
1、winscp工具上传 spring boot 打包的jar文件
2、编辑dockerfile
3、 打包镜像:docker build -f Dockerfile_name -t 11.4.76.193/redis/ .
docker build -f Dockerfile-webapi -t 11.4.76.193/redis/testapi .
镜像重命名: docker tag c57112b8e05f 11.4.76.193/sba/sba:latest
docker push
登录内网仓库:
docker login 11.4.76.193
push到仓库: docker push 11.4.76.193/sba/sba:latest
4、启动docker实例: docker run -P -d springboot
5、删除镜像:
chown-R mysql:mysql ././scripts/mysql_install_db --user=mysql --datadir=/usr/local/mysql/data/mysql
-P 随机映射一个端口到主机端口
-p 映射指定的端口
容器互联 --link,docker会在两容器建创建通信隧道
第三章:docker-compose
sudo yum -y install epel-release
sudo yum -y install python-pip
pip install --upgrade pip
sudo pip install -U docker-compose