1.安装Docker
sudo yum install -y docker
2.启动Docker
Amazon Linux AMI的时候,
sudo service docker start
--启动
sudo chkconfig --list | grep docker
--查看docker有没有开机自启动
--docker 0:off 1:off 2:on 3:on 4:on 5:on 6:off的时候OK
sudo chkconfig docker on
--如果没有开机自启动,通过上面的命令设置为开机自启动
centos 7的时候,
sudo systemctl start docker.service
--启动
--启动出错的时候,修改/etc/sysconfig/docker的内容
--修改前:OPTIONS='--selinux-enabled=true --log-driver=journald --signature-verification=false'
--修改后:OPTIONS='--selinux-enabled=false --log-driver=journald --signature-verification=false'
sudo systemctl enable docker
--通过上面的命令设置为开机自启动
3.下载jdk8的镜像,这里利用一个特别小的linux系统alpine,可以根据自己需要选择其他系统镜像
sudo docker pull frolvlad/alpine-oraclejdk8
--下载
--如果需要在内网使用的话,先通过上面的命令下载,然后再通过下面的命令导出,在内网机器导入
sudo docker save -o alpine-oraclejdk8.docker frolvlad/alpine-oraclejdk8
--导出
sudo docker load -i alpine-oraclejdk8.docker
--导入
4.制作自己的服务镜像
需要准备自己服务的jar文件,并按如下准备Dockerfile文件,把jar文件和Dockerfile放到同一目录
FROM frolvlad/alpine-oraclejdk8
VOLUME /tmp
ADD service1-0.0.1-SNAPSHOT.jar app.jar
EXPOSE 7070
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"]
查看Docker里的现有镜像,和制作自己的镜像
sudo docker images
--查看现有镜像
cd /usr/local/test/service1
sudo docker build -t service1-img-name .
--制作镜像
5.容器的做成和首次启动
sudo docker ps -a
--查看现在已有容器
sudo docker run --name service1-container-name --net=host -d --restart always -v /usr/local/test:/usr/local/test service1-img-name
--使用host网络模型:--net=host
--后台运行:-d
--开机后跟随docker启动:--restart always
--映射宿主机目录到容器的目录[本地目录:容器目录]:-v /usr/local/test:/usr/local/test
6.停止容器的运行
sudo docker ps -a
--查看现有容器
sudo docker stop service1-container-name
--停止容器service1-container-name的运行
7.删除容器
sudo docker ps -a
--查看现有容器
sudo docker rm service1-container-name
--删除容器service1-container-name,删除之前必须先停止运行
8.删除镜像
sudo docker images
--查看现有镜像
sudo docker rmi service1-img-name
--删除镜像service1-img-name,删除之前必须先删除这个镜像已经生成的容器
9.其他linux设置
不认识127.0.0.1
more /etc/hosts
--查看127.0.0.1的定义里有没有本机名,没有的话,把本机名加进去
centos 7开放端口
sudo iptables -I INPUT -p tcp --dport 9001 -j ACCEPT
--添加开放端口9001
sudo iptables -L -n | grep 9001
--查看端口9001有没有开放