- 安装使yum 能够使用额外仓库的工具
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-ce
sudo yum install -y yum-utils
- 配置Docker工具
设置docker镜像源
yum-config-manager \
--add-repo \
https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
在etc/yum.repos.d/docker-ce.repo 下查看
3. 验证指纹是否匹配并升级仓库:
sudo yum makecache fast
4. 安装Docker CE并启动:
yum install docker-ce 安装最新版docker-ce
systemctl start docker 启动docker
systemctl enable docker 开机启动
测试 dockerfile打包发布
在服务器上创建目录/base/eureka,将 java -jar base-eureka-1.0-SNAPSHOT.jar生成的jar包放到/base/eureka目录下,在该目录下创建一个Dockerfile文件,内容如下:
FROM openjdk:8-jre
VOLUME /tmp
ADD base-eureka-1.0-SNAPSHOT.jar app.jar
RUN /bin/cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && echo 'Asia/Shanghai' > /etc/timezone
EXPOSE 8761
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/ ./urandom","-jar","/app.jar"]
接下来使用build生成镜像 docker build -t eureka .
可以使用docker images 查看生成的镜像: eureka , 因为没有指定版本号,它的tag默认设置为latest 。
接下来运行容器: docker run --name eureka_1 -d -p 8761:8761 eureka
其中 --name 定义启动容器名字,第一个端口指的是宿主机端口,第二个端口指的是容器端口,如果没有冒号只有一个端口就是设置容器的端口,最后一个eureka是所使用的镜像的名字。
使用docker ps 查看运行的容器,使用docker logs -f eureka_1查看容器的日志。
查看镜像的位置
cd /var/lib/docker/image/overlay2/image/overlay2 # 有的是image/aufs
cat repositories.json # 查看镜像仓库内容
查看容器的位置
cd /var/lib/docker/containers
ls -l # 查看容器列表
删除容器和镜像命令:
docker start eureka_1 启动容器
docker stop eureka_1 停止容器
docker rm eureka_1 删除容器
docker rmi eureka 删除镜像
- 安装 docker-compose
curl -L https://github.com/docker/compose/releases/download/1.23.1/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
- 修改权限
chmod +x /usr/local/bin/docker-compose
- 命令补全命令
curl -L https://raw.githubusercontent.com/docker/compose/1.29.1/contrib/completion/bash/docker-compose > /etc/bash_completion.d/docker-compose
如果出现错误,需要修改自己的配置文件
echo "199.232.68.133 raw.githubusercontent.com" >> /etc/hosts
- 输出docker-compose版本和帮助信息
docker-compose version docker-compose -h
- 创建/base目录,创建一个docker-compose.yml文件并添加脚本,例如:
eureka:
build: ./eureka
ports:
- "8761:8761"
config:
build: ./config
ports:
-"8888:8888"
links:
- eureka
hystrix:
build: ./hystrix
ports:
- "7979:7979"
- 启动命令部署应用
包含了镜像创建、容器生成和启动 docker-compose down --rmi all
-
停止命令
-
docker-compose down --rmi all
删除相关的容器和镜像 -
出现问题: Could not resolve host: mirrorlist.centos.org Centos 7 解决如下
[base]
name=CentOS-$releasever - Base
baseurl=http://vault.centos.org/7.9.2009/os/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
[updates]
name=CentOS-$releasever - Updates
baseurl=http://vault.centos.org/7.9.2009/updates/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
[extras]
name=CentOS-$releasever - Extras
baseurl=http://vault.centos.org/7.9.2009/extras/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
[centosplus]
name=CentOS-$releasever - Plus
baseurl=http://vault.centos.org/7.9.2009/centosplus/$basearch/
gpgcheck=1
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7