1、安装
docker官网:Home - Docker
Docker CE(社区免费版) 的安装请参考官方文档:
MacOS:Redirecting…
Windows:Redirecting…
Ubuntu:Redirecting…
Debian:Redirecting…
CentOS7:Redirecting…
Fedora:Redirecting…
其他 Linux 发行版:Redirecting…
设置docker的yum源
#yum-util 提供yum-config-manager功能
yum install -y yum-utils
yum-config-manager \
--add-repo \
https://download.docker.com/linux/centos/docker-ce.repo
安装docker
#下载并安装最新版【不建议】
#yum install docker-ce docker-ce-cli containerd.io -y
#下载并安装指定版本【建议】
#查看docker-ce版本
yum list docker-ce --showduplicates | sort -r
#保证服务器能连接外网
yum install docker-ce-18.09.0 docker-ce-cli-18.09.0 containerd.io -y
#查看docker版本
docker -v#启动命令
systemctl start docker
systemctl stop docker
systemctl restart docker
#开机自启动
systemctl enable docker
docker镜像加速器
服务器中运行
镜像命令
#列出本地所有的
docker images
#可以通过下面命令查看命令参数
docker images --help#搜索镜像
docker search redis
镜像查找地址:Docker Hub
下载镜像
#下载最新(latest)版 docker pull 镜像名 #下载指定版本 docker pull 镜像名:镜像的版本号
删除镜
注意,如果镜像有实例在运行是不能被删除的 #根据镜像id删除,注意如果两个镜像的镜像id(id前缀)一样,是无法被删除的 docker rmi aa27923130e6 #根据镜像名:版本删除 docker rmi redis:latest
容器命令
命令: docker run [OPTIONS] IMAGE COMMAND
OPTIONS说明: –-name=‘容器新名字’:为容器自定义一个名称
-d:后台运行容器,并返回容器ID,也即启动守护式容器
-i:以交互模式运行容器
-t:(terminal)为容器重新分配一个伪终端
-P:随机端口映射 -p:指定映射端口,有以下四种格式 ①ip:hostPort:containerPort ②ip::containerPort ③hostPort:containerPort ④containerPort
进入容器
退出
列出正在运行的容器
命令: docker ps [OPTIONS]
OPTIONS说明:
-a :列出当前所有正在运行的容器+历史上运行过的
-l :显示最近创建的容器。
-n:显示最近n个创建的容器。
-q :静默模式,只显示容器编号。
–no-trunc :不截断输出。
#查看正在运行的 docker ps #查看正在运行以及创建了但是并没有运行的容器实例 docker ps -a
创建守护式容器
#通过-d参数创建守护式容器 docker run -d --name redis02 redis:6.0.9 #进入守护进程容器,其中redis02是容器的名称 docker exec -it redis-c2 /bin/bash root@74de1facd2ec:/data# -rm 表示容器停止就会删除容器
关闭容器实例
#其中redis02是容器的名称 docker stop redis02
启动容器实例
#其中redis-c2是容器的名称 docker start redis02
删除容器实例
#其中redis-c2是容器的名称 docker rm redis02
查看容器实例的信息
docker inspect redis02
创建数据卷姿势一
创建tomcat容器
docker search tomcat docker pull tomcat:9.0 docker run -it --name tomcat01 \ tomcat:9.0 # -- rm表示当容器被停止时会自动删除该容器 docker run -it --name tomcat01 \ --rm \ tomcat:9.0 docker run -d --name tomcat01 \ --rm \ -p 8081:8080 \ tomcat:9.0
#创建数据卷的命令,tomcat为数据卷的名称 docker volume create tomcat #数据卷本质就是宿主机的一个目录 ,的默认存放路径为 /var/lib/docker/volumes/ docker volume inspect tomcat docker volume ls docker volume rm tomcat #数据卷绑定容器目录,以下面这种方式绑定,如果/usr/local/tomcat/目录下有内容,会将这些内容同步到数据卷中 docker run -it --name tomcat01 \ --rm \ -p 8081:8080 \ -v tomcat:/usr/local/tomcat/ \ tomcat:9.0 #修改宿主目录,查看容器目录 #修改容器目录,查看宿主目录 #删除容器,查看数据卷,数据卷不会被删除
5.2:创建数据卷姿势二
创建容器时使用-v参数设置数据卷
docker run ... -v 宿主机目录:容器内的目录 ...
docker run -it --name tomcat01 \ --rm \ -p 8081:8080 \ #数据卷绑定容器目录,以下面这种方式绑定,如果/usr/local/tomcat/webapps目录下有内容,不会将这些内容同步到数据卷中 #只是创建了/export/server/tomcat/webapps目录,但是这个目录没有任何内容 -v /export/server/tomcat/webapps:/usr/local/tomcat/webapps \ tomcat:9.0
注意事项 1.目录必须是绝对路径 2.如果目录不存在会自动创建,初始化创建是一个空目录。 3.可以挂在多个数据卷
DockerFile
第一步:编写dockerfile
#以java:8 FROM java:8 MAINTAINER zhuximing <569591357@qq.com> RUN mkdir /jars WORKDIR /jars ADD study-dockerfile-1.0-SNAPSHOT.jar app.jar CMD java -jar app.jar
构建镜像
docker build -f dockerfile.txt -t app:1.0 .
启动容器
docker run -it -p 8881:8888 app:1.0
docker run -it -p 8881:8888 app:1.0 /bin/bash
将镜像放入镜像仓库
创建镜像仓库
将本地的镜像重命名
push上去
拉下来
先登入
拉取
安装jekins
官网:Jenkins
#这个是安装最新版的jenkins,如果安装旧版本,很多插件安装不上,docker环境下升级又比较麻烦。
docker pull jenkins/jenkins:lts
#创建容器卷
docker volume create jenkins-datadocker run -d -p 9988:8080 -p 50000:50000 \
-v /export/server/jdk1.8/bin/java:/export/server/jdk1.8/bin/java \
-v /export/server/jdk1.8:/export/server/jdk1.8 \
-v jenkins-data:/var/jenkins_home \
-v /etc/localtime:/etc/localtime \
--name jenkins jenkins/jenkins:lts#参数简介
-v /export/server/jdk1.8/bin/java:/export/server/jdk1.8/bin/java,这个配置可以再在docker容器内部使用java命令(直接使用宿主机的java)
-v /etc/localtime:/etc/localtime 使用宿主机的时间(宿主机和容器时间同步)
-d 后台运行镜像
-p 9988:8080 将镜像的8080端口映射到服务器的9988端口
-p 50000:50000 将镜像的50000端口映射到服务器的50000端口
--name jenkins 给容器起一个别名
密码再容器中
进入容器 jenkins 是创建时取得名字
docker exec jenkins tail /var/jenkins_home/secrets/initialAdminPassword
可以看到密码
安装推荐,等待安装完成
注册完毕后
启动jekins
配置jdk
这里配置的是jekins的jdk,由于jekins挂载目录和宿主机目录相同,所以别以为是宿主机目录,一定是jekins的jdk目录,jekins的jdk目录映射到宿主机目录
/export/server/jdk1.8:/export/server/jdk1.8
配置maven
上传
安装gitee