docker笔记
docker相关文章
https://testerhome.com/topics/9522
docker安装
1.系统要求
centos 7 以上
2.环境要求
# 关闭防火墙systemctl stop firewalld
systemctl disable firewalld
3.docker安装
wget https://yum.dockerproject.org/repo/main/centos/7/Packages/docker-engine-1.13.1-1.el7.centos.x86_64.rpm
yum -y localinstall docker-engine-1.13.1-1.el7.centos.x86_64.rpm
4.配置docker参数
cat > /etc/docker/daemon.json <<EOF
{
"storage-driver": "overlay",
"registry-mirrors": ["https://docker.mirrors.ustc.edu.cn"]
}
EOF
5.启动2376监听端口
docker是C/S模式的,默认只监听本地-H unix:///var/run/docker.sock,若要远程监听修改/usr/lib/systemd/system/dockerer.service文件。把ExecStart这一行改成如下:
ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2376 -H unix:///var/run/docker.sock
5.启动docker
systemctl start docker
systemctl enable docker
安装方式2:
(1)编辑文件:
docker是什么?能做什么
搭建测试环境,搭建基础服务,搭建执行环境
docker关键技术:
名称空间 cgroups 联合文件系统
Docker的三个核心:
image(镜像)、container(容器)、repository(仓库)
docker基本命令
# 下载镜像
docker pull 镜像名
docker pull jenkins:2.60.3 #下载指定版本的镜像
# 查看所有下载过的镜像
docker images
#删除镜像
docker rmi 镜像id
#后台启动容器
docker run -d jenkins/jenkins
#后台启动容器且指定容器名称
docker run -d --name testjenkins jenkins/jenkins
#将本地8000端口映射到容器8080端口
docker run -d --name testjenkins -p 8000:8080 jenkins/jenkins
# 停止容器
docker stop 容器名
# 启动容器
docker start 容器名
# 进入容器的 shell 环境
docker exec -it 容器名 bash
# 退出容器的 shell 环境
exit
# 删除容器
docker rm 容器名
# 强制删除正在运行的容器
docker rm -f 容器名
# 查看运行的容器
docker ps
# 查看所有的容器
docker ps -a
# 查看容器占用大小
docker ps -s
#新建镜像tag
docker tag jenkins/jenkins jenkins/jenkins:5.5
#将镜像保存为tar包
docker save jenkins/jenkins:5.5 > myjenkins.tar
#将tar包加载为镜像
docker load < myjenkins.tar
#查看容器日志
docker log testjenkins
docker log -f testjenkins #动态刷新容器的日志
docker私服
1、拉去私服镜像
docker build -t='app' . //将Dockerfile文件打包成镜像,其中 .表示当前路径下得Dockerfile文件
2、使用maven构建服务得镜像
1)编辑文件 vim /lib/systemd/system/docker.service
修改配置文件使支持远程访问:ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock
修改配置文件后执行以下命令:
2)在项目工程pom文件中添加docker插件
<build>
<finalName>app</finalName>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
<!-- docker的maven插件,官网: https://github.com/spotify/docker‐maven‐plugin-->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.8.1</version>
</plugin>
<plugin>
<groupId>com.spotify</groupId>
<artifactId>docker-maven-plugin</artifactId>
<version>0.4.14</version>
<configuration>
<imageName>192.168.19.130:5000/${project.artifactId}:${project.version} </imageName>
<baseImage>jdk1.8</baseImage>
<entryPoint>["java", "‐jar", "/${project.build.finalName}.jar"]</entryPoint>
<resources>
<resource>
<targetPath>/</targetPath>
<directory>${project.build.directory} </directory>
<include>${project.build.finalName}.jar</include>
</resource>
</resources>
<dockerHost>http://192.168.19.130:2375</dockerHost>
</configuration>
</plugin>
</plugins>
</build>
3)执行以下命令将打包得镜像文件上传到私服
mvn install
mvn docker:build
mvn docker:push
最后在宿主机上执行docker images 命令查看上传得镜像