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)yum 包更新到最新  
    sudo yum update
(2)安装需要的软件包, yum-util 提供yum-confifig-manager功能,另外两个是devicemapper驱动依赖的
    sudo yum install -y yum-utils device-mapper-persistent-data lvm2
(3)设置yum源为阿里云
  sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
(4)安装docker 
  sudo yum install docker-ce
(5)安装后查看docker版本
  docker -v
 
 
2.2 设置ustc的镜像
  
https://lug.ustc.edu.cn/wiki/mirrors/help/docker
(1)编辑文件:
  vi /etc/docker/daemon.json 
 (2)在文件中输入一下内容:
{
"registry-mirrors": ["https://docker.mirrors.ustc.edu.cn"]
}
 
 
Docker的启动与停止
  启动docker:
  systemctl start docker
  停止docker:
  systemctl stop docker
  重启docker:
  systemctl restart docker
  查看docker状态:
  systemctl status docker
  开机启动:
  systemctl enable docker
  查看docker概要信息
  docker info
  查看docker帮助文档
  docker --help
 
 
 
 

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 pull registry
2、启动私服
docker run -di --name=registry -p 5000:5000 registry
3、修改配置文件使docker信任私服
vi /etc/docker/daemon.json
{"insecure-registries":["192.168.184.141:5000"]}
4、修改后重启docker服务
systemctl restart docker
5、对要上传得镜像打tag
docker tag jdk1.8 192.168.184.141:5000/jdk1.8
6、上传镜像
docker push 192.168.184.141:5000/jdk1.8
 
 
构建镜像
1、使用Dockerfile构建
构建一个jdk1.8得镜像

 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

    修改配置文件后执行以下命令:

      systemctl daemon‐reload
      systemctl restart docker
      docker start registry

  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 命令查看上传得镜像

  
  
 
 
 
 

 

posted @ 2019-08-14 18:54  caoyp  阅读(162)  评论(0编辑  收藏  举报