需要go语言 1、docker安装步骤
yum -y install gcc
yum -y install gcc-c++
yum install -y yum-utils device-mapper-persistent-data lvm2
yum install docker-ce
systemctl enable docker --开机启动
systemctl start docker --启动
docker version
docker run hello-world -测试
2、配置镜像加速
mkdir -p /etc/docker
vim /etc/docker/daemon.json
添加:
{
"registry-mirrors": ["https://hkkfcgan.mirror.aliyuncs.com"]
}
systemctl daemon-reload --重加载
systemctl restart docker --重启
3、镜像命令
docker --help --帮助
docker images --镜像信息
docker tag --本地镜像
4、镜像操作
docker images tomcat --查看tomcat镜像
docker run -it -p 8888:8080 --修改tomcat端口
docker commit -a="zzyy" -m="tomcat without docs" 9f45dsfdsf56 atguigu/mytomcat:1.2 --提交成为一个新镜像
5、容器数据卷
docker run -it centos /bin/bash --运行centos镜像容器
docker run -it -v /myDataVolume:/dataVolumerContainer centos --myDataVolume是主机,dataVolumerContainer是容器,二者对接
查看是否开启成功:
docker ps
docker inspect 471ce2ceeeb4 --查看是否开启成功
6、dockerfile( Dockerfile 中使用 Volume 指令来给镜像添加一个或多个数据卷)
主机:
mkdir mydocker
vim Dockerfile
添加:
FROM centos
VOLUME ["/dataVolumeContainer1","/dataVolumeContainer2"]
CMD echo "finished,------success1"
CMD /bin/bash
docker build -f /mydocker/Dockerfile -t zzyy/centos . --构建镜像
docker run -it zzyy/centos --启动新镜像
案例1:
docker run -it --name dc01 zzyy/centos
cd dataVolumeContainer2/
touch 1021.txt
docker run -it --name dc02 --volumes-from dc01 zzyy/centos --dc02继承dc01
7、dockerfile案例:修改登录默认路径、支持vim编辑器、查看网络配置ifconfig
主机:vim Dockerfile2
添加
FROM centos
MAINTAINER zxl
ENV MYPATH /usr/local
WORKDIR $MYPATH
RUN yum -y install vim
RUN yum -y install net-tools
EXPOSE 80
CMD echo $MYPATH
CMD echo "success--------------------ok"
CMD /bin/bash
构建:
docker build -f /mydocker/Dockerfile2 -t mycentos:1.3 .
测试
docker run -it mycentos:1.3
8、dockerfile案例:CMD与ENTRYPOINT的区别
主机:vim Dockerfile3
添加
FROM centos
RUM yum install -y curl
ENTRYPOINT ["curl","-s","http://www.baidu.com"]
9、安装mysql
docker pull mysql:5.6
docker run -p 1234:3306 --name mysql -v /usr/mysql/conf:/etc/my.cnf.d -v /usr/mysql/logs:/logs -v /usr/mysql/data:/var/lib/mysql/data -e MYSQL_ROOT_PASSWORD=root -d mysql:5.6 --启动mysql
docker exec -it a12a12feb779 /bin/bash --交互运行
mysql -u root -p
输入密码:root --进入到mysql
show databases;
10、将本地镜像推送到阿里云
docker run -it mycentos:1.3 --运行
docker ps --查看centos:1.3的id
docker commit -a zf -m "new mycentos:1.4 with vim and ifconfig" 1a713323ba09 mycentos:1.4 --生成本地镜像
docker login --username=zhangfei644258812 registry.cn-shanghai.aliyuncs.com -- 登录阿里云
docker tag 88b9fabf90a6 registry.cn-shanghai.aliyuncs.com/zhangfei644258812/mycentos1:1.4.1 --标签
docker push registry.cn-shanghai.aliyuncs.com/zhangfei644258812/mycentos1:1.4.1 --推送
docker pull registry.cn-beijing.aliyuncs.com/leyton/mycentos:[镜像版本号] --从阿里云仓库拉取