1.安装
公司服务器都是阿里云买的,7.0以上的centos,下面也是在centos7.6操作的
1.1查看centos版本号
cat /etc/redhat-release
1.2安装docker
sudo yum install docker
1.3安装完成后查看一下docker版本
docker -v
1.4编辑配置文件
vim /etc/systemd/system/multi-user.target.wants/docker.service 或(如果找不到文件的话)
vim /usr/lib/systemd/system/docker.service
修改标红线那一行,以下为修改后
ExecStart=/usr/bin/dockerd --registry-mirror=https://dttgbi1r.mirror.aliyuncs.com-current -H unix:///var/run/docker.sock -H 0.0.0.0:2375 \
–registry-mirror=https://dttgbi1r.mirror.aliyuncs.com-current是我的阿里云加速器。详见阿里云的镜像加速服务,是免费的
修改后保存配置
systemctl daemon-reload
systemctl restart docker.service
1.5启动docker
systemctl start docker
1.6开放防火墙端口(docker端口是2375)
firewall-cmd --permanent --zone=public --add-port=2375/tcp
1.7万事万物hello-world
拉取hello-world镜像
docker pull library/hello-world
运行
docker run hellow-world
Ojbk 完事
2.镜像
1.查看所有镜像
docker images
2.从阿里云拉取或提交镜像
2.1登录授权
sudo docker login --username=阿里云用户名 registry.cn-shenzhen.aliyuncs.com
2.2拉取(把registry.cn-shenzhen.aliyuncs.com/yhd_springcloud/springcloud换成你对应的公网仓库地址)
sudo docker pull registry.cn-shenzhen.aliyuncs.com/yhd_springcloud/springcloud:[镜像版本号]
2.3提交
sudo docker login --username=阿里云用户名 registry.cn-shenzhen.aliyuncs.com
sudo docker tag [ImageId] registry.cn-shenzhen.aliyuncs.com/yhd_springcloud/springcloud:[镜像版本号]
sudo docker push registry.cn-shenzhen.aliyuncs.com/yhd_springcloud/springcloud:[镜像版本号]
3.启动镜像
docker run -d -p 端口号/端口号 镜像名:tag
4.删除镜像(删除镜像前必须先停止并删除对应的容器)
docker rmi 镜像名:tag
3.容器
1.查看所有容器
docker ps -a
2.启动容器
docker start [CONTAINER ID] (CONTAINER ID支持模糊查询。不用输完整)
3.停止容器
docker stop [CONTAINER ID]
4.删除容器
docker rm [CONTAINER ID]
5.删除正在运行中的容器
docker rm -f [CONTAINER ID]
4.在本地把项目打包成镜像并远程提交到服务器
下面代码拷到项目里,如果之前build写的别的打包方式,直接覆盖掉
pom文件
<properties>
<docker.image.prefix>cloud</docker.image.prefix>
</properties>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
<plugin>
<groupId>com.spotify</groupId>
<artifactId>docker-maven-plugin</artifactId>
<version>1.0.0</version>
<executions>
<execution>
<id>build-image</id>
<phase>package</phase>
<goals>
<goal>build</goal>
</goals>
</execution>
</executions>
<configuration>
<imageName>${docker.image.prefix}/${project.artifactId}</imageName>
<dockerHost>服务器地址:2375</dockerHost>
<dockerDirectory>src/main/docker</dockerDirectory>
<resources>
<resource>
<targetPath>/</targetPath>
<directory>${project.build.directory}</directory>
<include>${project.build.finalName}.jar</include>
</resource>
</resources>
</configuration>
</plugin>
</plugins>
</build>
Dockerfile文件(丢到springboot项目下的/src/main/docker目录)
FROM carsharing/alpine-oraclejdk8-bash
MAINTAINER 你的名字 你的邮箱
VOLUME /tmp
ADD euruka_server-x.jar(你的项目打包后的名字) app.jar
RUN sh -c 'touch /app.jar'
ENV JAVA_OPTS=""
ENTRYPOINT [ "sh", "-c", "java $JAVA_OPTS -Djava.security.egd=file:/dev/./urandom -jar /app.jar" ]
上面代码拷到项目里后,我用的eclipse,直接右键项目Run AS --> maven install
ok了,这时候去服务器docker images 你会看到你的刚刚部署的镜像。。到这里也算ojbk了。执行上面的操作就好了。