Ubuntu下安装docker
安装
安装命令:html
sudo apt-get update sudo apt-get install docker.io
(若是安装失败,也可参考以下网站进行安装:连接)java
启动
启动命令:nginx
sudo service docker start
测试
测试运行hello-world:web
sudo docker run hello-world
运行效果:spring
设置docker镜像加速
添加镜像加速地址
编辑daemon.json文件:docker
sudo vim/etc/docker/daemon.json
添加阿里云加速镜像地址内容:json
{ "registry-mirrors": ["https://alzgoonw.mirror.aliyuncs.com"] }
重启服务
sudo systemctl daemon-reload sudo systemctl restart docker sudo systemctl status docker
下载基础镜像
搜索镜像
进入阿里云的镜像仓库搜索本身想要的镜像,连接。vim
找到想要的java基础镜像:bash
右边有相应的版本,下载本身想要的版本(注:这里的java所有是openjdk,不是oracle jdk)。服务器
下载镜像
语法:
docker pull [OPTIONS] NAME[:TAG|[@DIGEST](https://my.oschina.net/u/3392911)]
说明:
OPTIONS:参数,例如 ‘-a’,下载全部版本的镜像。 NAME:镜像名称,例如 ‘java’。 TAG:为版本,例如 ‘java:8u111’,java的8u111版本。
实例:
sudo docker pull java:8u111
(注:若是不指定相应的版本,docker则会自动下载最新的版本。)
查看本地镜像
运行命令:
sudo docker images
编写Dockerfile
FROM java #基础的镜像 ADD application.yml application.yml #添加配置文件 ADD FaceWeb-1.0.2-SNAPSHOT.jar app.jar #添加项目的jar包,并重命名 EXPOSE 80 #声明端口 VOLUME /tmp #定义匿名卷 #程序的入口点 ENTRYPOINT ["java", "-Djava.security.egd=file:/dev/./urandom", "-jar","/app.jar", "--Dspring.config.location=application.yml"] # Ubuntu 时区 RUN cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
(详情请参考:连接)
修改项目配置application.yml
略。
编译镜像
上传文件
在服务器上创建一个文件夹,用于存放docker文件,将文件经过工具所有发送到服务器上。
编译
语法:
docker build [OPTIONS] PATH | URL | -
OPTIONS说明:
-f :指定要使用的Dockerfile路径; -m :设置内存最大值; --tag, -t:镜像的名字及标签,一般 name:tag 或者 name格式;能够在一次构建中为一个镜像设置多个标签。
实例:
sudo docker build -t faceweb .
(注:详细语法,请查看:连接)
编译完成后运行查看镜像,就能够看到刚刚编译好的镜像了。
启动容器
运行命令
语法:
sudo docker run [OPTIONS] IMAGE [COMMAND] [ARG...]
OPTIONS说明:
-d:后台运行容器,并返回容器ID; -p: 端口映射,格式为:主机(宿主)端口:容器端口; --name:"nginx-lb":为容器指定一个名称; -e username="ritchie":设置环境变量; -P:随机端口映射。
(注:详细语法,请查看:连接)
实例:
sudo docker run –name faceweb -d -p 80:80 faceweb
- 查看运行的容器
语法:
sudo docker ps [OPTIONS]
OPTIONS说明:
-a :显示全部的容器,包括未运行的; -l :显示最近建立的容器。
(注:详细语法,请查看:连接)
实例:
sudo docker ps -a
能够清楚的看到端口的映射状况和容器的一些详细信息。
到目前为止,docker容器的下载,编译和部署已经完成,下面是容器的一些经常使用操做介绍。
容器经常使用操做命令
查看运行的容器
查看容器,复制容器的CONTAINER ID。
中止容器
sudo docker stop CONTAINER
启动容器
sudo docker start CONTAINER
重启容器
sudo docker restart CONTAINER
删除容器
sudo docker rm CONTAINER
(注:删除容器前须要先中止这个容器,删除是不可逆的,谨慎操做。)
查看容器的日志
sudo docker logs [OPTIONS] CONTAINER
OPTIONS说明:
-f : 跟踪日志输出; -t : 显示时间戳; --since :显示某个开始时间的全部日志; --tail :仅列出最新N条容器日志。
实例:
sudo docker logs -f cd4c9b023c46
进入容器
语法:
sudo docker exec [OPTIONS] CONTAINER COMMAND [ARG...]
OPTIONS说明:
-i :即便没有附加也保持STDIN 打开; -t :分配一个伪终端。
实例:
sudo docker exec -it faceweb /bin/bash
镜像的经常使用操做
删除镜像
语法
sudo docker rmi [OPTIONS] IMAGE [IMAGE...]
OPTIONS说明:
-f :强制删除; --no-prune :不移除该镜像的过程镜像,默认移除。
实例:
sudo docker rmi faceweb
(注:全部的删除是不可逆的,请请谨慎操做。)
全部的docker命令请参考:连接