docker的作用:
是一个开源的应用容器引擎
可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化
linux上的虚拟机。
jenkins与docker相同的软件。
安装docker虚拟机
yum -y install docker
doker仓库
hub.docker.com
docker安装好之后默认不启动,启动密令如下:
service docker start
默认开启linux是启动docker密令如下:
chkconfig docker on
查看docker里面有没有镜像
docker images
查看docker仓库里面有没有centos(iso)镜像包
docker search centos
OFFICIAL表示是不是官网的iso镜像包【ok】表示是官方的
下载centos(iso)镜像包
docker pull centos
配置国内docker私服
vi /etc/docker/daemon.json
{
“registry-mirrors”: [“https://registry.docker-cn.com“]
}
配置完之后执行下面的命令,以使docker的配置文件生效
systemctl daemon-reload
systemctl restart docker
删除iso镜像删除确定一下iso下有没有启动的容器
docker rmi iso的ID
运行容器centos
docker run centos
查看容器有没有运行
docker ps -a
STATUS表示容器的状态
Exited:表示没开启
Up:表示启动
创建容器进入容器里面启动容器
docker run -it centos /bin/bash
创建容器在宿主里开启容器
docker run -itd centos /bin/bash
查看容器的ip地址要在宿主里面查看,命令如下:容器关闭时无法获取ip,开启时可获取
docker inspect 容器的ID | grep IP
开启容器
docker start 容器的ID
进入容器 -it 与 /bin/bash 是一同使用的缺一不可
docker exec -it 容器的ID /bin/bash
退出容器
eixt
删除容器
docker rm 容器ID
强制删除容器
docker rm -f 容器ID
使用run -it 命令启动容器退出后会关机
使用run -itd 命令启动容器退出后不会关机
使用docker start 命令启动容器退出后不会关机
find 查找目录
nginx.conf静动分离
location ~* ^(.*).jpg|png|gif|bmp|js$ {
root html;
index index.html index.htm;
}
location / {
proxy_pass http://backend;
}
重新启动nginx
nginx: [alert] kill(80898, 1) failed (3: No such process)
etc nginx
docker 复制文件到哪个地方
docker cp mynginx:/etc/nginx/conf.d/default.conf /
curl http… 访问某个IP地址
docker run --name mynginx -v /mynginx:/usr/share/nginx/html:rw -d -p 8080:80 nginx 端口映射 并且创建容器
docker run --net host -d --name mynginx -v /mynginx:/usr/share/nginx/html:rw nginx 创建容器 不用做端口映射
–net host 绑定宿主ip 端口 --name 容器名称 -v 目录共享 :rw 权限 -d 后台运行 仅主机模式
hub.docker.com 镜像网站
www.runoob.com 菜鸟教程
docker run --net host --name mariadb -e MYSQL_ROOT_PASSWORD=123456 -d mariadb:5.5.60
redis-cli redis启动
netstat -aon | grep 8080 查看端口有没有占用
netstat -nlp | grep 8080
kill -9 进程id 强制中断该进程
docker commit 镜像 容器名:版本号 制作镜像
docker save 镜像名 -o 文件名 把镜像用文件保存
docker load -i 用文件格式储存镜像的文件名 还原镜像
docker build -t tomcat2:111 :Dockerfile 文件形式创建镜像
Dockerfile:
FROM tomcat
COPY ./sessionTest.war /usr/local/tomcat/webapps
持续集成:
1.打开远程连接默认docker服务启动 文件(/usr/lib/systemd/system/docker.service)编辑文件
在ExecStart后面 添加一行(表示启动2375端口 用于监听远程操作)
-H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock
2.改了文件需要重新加载服务 systemctl daemon-reload 和重启docker服务 service docker restart
echo %环境变量名% 查询环境变量能不能连接
Maven项目持续集成
1.打开远程连接默认docker服务启动 文件(/usr/lib/systemd/system/docker.service)编辑文件
在ExecStart后面 添加一行(表示启动2375端口 用于监听远程操作)
-H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock \
2.改了文件需要重新加载服务 systemctl daemon-reload 和重启docker服务 service docker restart
3.需要在pom.xml配置
st打包好后的包名
com.spotify
dockerfile-maven-plugin
1.4.0
st文件名
1版本号
<JAR_FILE>target/st.war</JAR_FILE>war包名
4.Dockerfile 文件 放在项目里
FROM tomcat
COPY target/st.war /usr/local/tomcat/webapps
5.需要配置环境变量
变量名:DOCKER_HOST
变量值:tcp://192.168.157.131:2375 ip地址是后台虚拟机的地址
mvn package 项目打包
mvn clean package dockerfile:build -DskipTests 执行生成镜像
6.打包完成!