六、微服务学习笔记-docker容器

一、docker优势

沙箱,进程间隔离

1、更快的启动时间

2、一致环境

3、持续交付和部署

(1)持续集成(Continuous integration)

(2)持续部署(Continuous Delivery/Deployment)

4、更轻松的迁移

5、更轻松的维护和扩展

二、传统的开发部署

开发环境、测试环境、预发布环境(生产演练)、生产环境

三、使用APT安装

#更新数据源
apt-get update

#安装所需依赖
apt-get -y install apt-transport-https ca-certificates curl software-properties-common

#安装GPG证书(验证软件来源)
curl -fsSL http://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add -

#新增数据源
add-apt-repository "deb [arch=amd64] http://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable"

cd ect/apt/sources.list 查看数据源
lsb_release -a  查看变量
lsb_release -cs=codename bionic

#更新并安装
apt-get update && apt-get install -y docker-ce
#查看docker版本
docker --version

四、配置阿里镜像

一、阿里镜像加速器

二、配置daemon文件

/etc/docker/daemon.json

#daemon.json内容,直接复制运行就可以了
tee /etc/docker/daemon.json <<-'EOF'
{
   "registry-mirrors":  ["https://XXXXXXX.mirror.aliyuncs.com"]  
}
EOF

#重启 Docker
systemctl daemon-reload
systemctl restart docker

#验证配置是否成功,查看镜像地址
docker info

三、docker常用命令

#获取软件镜像(版本号可以不填)
docker pull tomcat:版本号

#查看软件安装状态
docker images
docker images -a

#运行软件
docker run -p 宿主端口:容器端口 tomcat
守护态运行:docker run -p 8080:8080 -d tomcat
docker run -p 8080:8080 --name 容器名字 -d 镜像名字
#镜像体积
docker system df

#删除镜像(标签)
docker rmi nginx:标签

#查看运行容器
docker ps

#查看所有运行容器
docker ps -a

#停止运行容器
docker stop 容器ID

#启动容器
docker start 容器ID

#删除容器
docker rm 容器ID

#强制删除容器
docker rm -f 容器ID
#交互命令
docker exec -it 容器ID/name /bin/bash

#删除所有容器
docker container prune

#清楚所有虚悬镜像
docker image prune

 六、微服务学习笔记-docker容器_第1张图片

 

六、微服务学习笔记-docker容器_第2张图片

 

 

 

镜像(类)                                          容器(对象,镜像实例)

tomcat                                    xxx 基于 tomcat 镜像

中间层镜像(不能删除)

虚悬镜像(可以删除)

宿主机端口映射到容器端口,外网才能访问到容器的端口

四、dockerfile 镜像定制

mkdir docker
mkdir myweb
vi dockfile
vi index.jsp
docker build -t myweb .
.
1、在当前目录找到Dockerfile文件
2、指定我Dockerfile的上下文目录并打包->Docker Server

dockerfile内容:

FROM tomcat:latest

#执行删除命令
RUN rm -fr /usr/local/tomcat/webapps/Root

#复制到指定目录
COPY myweb.tar.gz /usr/local/tomcat/webapps/Root
#指定工作目录
WORKDIR /usr/local/tomcat/webapps/Root

#解压并删除
RUN tar -zxvf myweb.tar.gz \
&& rm -fr myweb.tar.gz

#回到tomcat目录
WORKDIR /usr/local/tomcat

#暴露端口
EXPOSE 8080

六、微服务学习笔记-docker容器_第3张图片

 

 注:当前目录,不能使用上一级目录,如果需要分类在当前文件夹下创建文件夹

Dockerfile文件命令:

ADD:复制解压

CMD脚本:只允许用一次,以最后一次CMD为准

CMD  ./startup.sh

ENTRYPOINT :跟CMD命令一样,只允许用一次

EVN:环境变量

EVN MYSQL_VERSION 5.7.22

EXPOSE:暴露端口

EXPOSE 8080 3306

WORKDIR:像cd,但不是

关键字:OpenStack 、c/s、守护进程

你可能感兴趣的:(六、微服务学习笔记-docker容器)