Docker使用

发布于:2023-01-02 ⋅ 阅读:(707) ⋅ 点赞:(0)

1、安装

 docker官网:Home - Docker

Docker CE(社区免费版) 的安装请参考官方文档:

设置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-data

docker 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

 

 

本文含有隐藏内容,请 开通VIP 后查看