目录
CentOS7用阿里云Docker Yum源在线安装Docker 17.03.2
之前直接安装最新的19版本 ,各种报错
删除已安装的Docker
# Uninstall installed docker
sudo yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-selinux \
docker-engine-selinux \
docker-engine
配置阿里云Docker Yum源
1Set up repository
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
2Use Aliyun Docker
sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
安装指定版本
查看Docker版本:
yum list docker-ce --showduplicates
安装较旧版本(比如Docker 17.03.2) 时需要指定完整的rpm包的包名,并且加上–setopt=obsoletes=0 参数:
yum install -y --setopt=obsoletes=0 \
docker-ce-17.03.2.ce-1.el7.centos.x86_64 \
docker-ce-selinux-17.03.2.ce-1.el7.centos.noarch
启动Docker服务
systemctl start docker # 启动
systemctl enable docker #开机自启
查看版本
docker version
下载镜像
docker pull nginx
docker images
查看镜像
docker images
启动nginx镜像
docker run -p 80:80 -d nginx
查看nginx容器运行状态
docker ps
进入容器
# e9a7d99d0d10 是containerID
docker exec -it e9a7d99d0d10 /bin/bash
出现以上界面说明在容器内部可以访问nginx
退出容器,到宿主机器访问容器nginx
退出容器
exit
查看容器的ip
在宿主机执行
docker network inspect bridge
当前我的容器ip:172.17.0.2
宿主机访问容器里面的nginx
curl http://172.17.0.2
大功告成
查看宿主机ip
ifconfig
浏览器访问宿主机ip+port:
http://192.168.0.128/
===========================
运行springboot项目
1 构建镜像
1、 用Dockerfile构建镜像
在 /usr/local/ddd 文件夹上传jar
同时创建Dockerfile,内容如下
创建Dockerfile,引入镜像,低版本 docker 去掉 AS base
#引入镜像,低版本 docker 去掉 AS base
FROM java:8
VOLUME /tmp
# 将jar包添加到容器中并更名为app.jar
ADD demomvc.jar app.jar
# 运行jar包
RUN bash -c 'touch /app.jar'
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"]
2 进入该文件夹[文件名字Dockerfile],然后运行
docker build -t mystorage .
# 注意 有个点在最后
3 查看镜像
docker images
docker run -p 80:80 -d nginx # 启动nginx
docker run -itd -p 9000:8080 mystorage --name=bbb /bin/bash #启动自定义jar
浏览器访问:
但是,发现一个问题;
在容器内部可以访问jar,在宿主机访问容器的jar失败 但是浏览器却成功了
容器内访问 OK
在宿主机访问容器的jar失败,原来是访问容器的ip错了
这样就可以访问成功!