docker笔记

概念上对比区分:物理机、虚拟机、容器

物理机相当于别墅,虚拟机相当于大楼,容器相当于胶囊房。

一个容器上只有一个服务,可移植性强;镜像作为标准的交付件,可在开发、测试、生产环境上以容器来运行,最终实现三套环境上的应用及依赖内容完全一致。

Docker是一个开源的应用容器引擎,基于Go语言并遵从Apache2.0协议开源。

Docker可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到热河流行的Linux机器上,也可以实现虚拟化。容器完全使用沙箱机制,相互之间不会有任何接口,更重要的是容器性能开销极低。

Docker的三个概念:镜像、容器、仓库

镜像(Image):相当于一个root文件系统;镜像是用于创建容器的模板;

容器(Container):镜像和容器类似于类和实例,镜像是静态的定义,容器是镜像运行时的实体

仓库(Repository):仓库可看成一个代码控制中心,用来保存镜像。

centos7安装docker 18.06.1-ce

centos-release-7-7.1908.0.el7.centos.x86_64

0、卸载旧版本,基本第一次安装可以忽略该步骤

yum remove docker \ docker-client \ docker-client-latest \ docker-common \ docker-latest \ docker-latest-logrotate \ docker-logrotate \ docker-selinux \ docker-engine-selinux \ docker-engine

1、安装依赖包

yum install -y gcc gcc-c++ yum-utils device-mapper-persistent-data lvm2

设置稳定的仓库

yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

更新yum软件包索引

yum makecache fast

2、安装

从高到低列出Docker-ce的版本

yum list docker-ce.x86_64  --showduplicates | sort -r

安装指定版本,本次选择18.06.1.ce-3.el7

yum install -y docker-ce-18.06.1.ce-3.el7  docker-ce-cli-18.06.1.ce-3.el7 contained.io

3、测试docker,查看版本号

docker version

概念:Docker是一个开源的应用容器引擎,可移植的容器。一个完整的docker有以下几个部分组成:

1、DockerClient客户端

2、Docker Daemon守护进程

3、Docker Image镜像

4、DockerContainer容器

通过镜像来创建容器,镜像相当于类,容器相当于对象

Docker和VMware虚拟机相比,

Docker容器常用命令:

一、容器使用

启动Docker:systemctl start docker

通过运行hello-world映像验证是否正确安装了Docker Engine-Community:docker run hello-world

查看容器状态:docker ps

CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
d4b5a376f8a8        ubuntu              "/bin/bash"         10 seconds ago      Up 10 seconds                           optimistic_perlman

CONTAINED ID:容器ID

IMAGE:使用的镜像

CREATED:容器创建的时间

STATUS:容器状态

共有其中状态:created(已创建)、restarting、running/up、removing(迁移中)、paused、exited(停止)、dead

PORTS:容器的端口信息和使用的连接类型(tcp\udp)

NAMES:自动分配的容器名称

查看容器内标准输出:docker logs 容器id/容器names

查看所有容器:docker ps -a

启动容器:docker run -itd   容器名称

i:交互式操作;t:终端;d:后台启动

进入容器:

docker attach   退出会导致容器停止

docker exec(推荐使用,退出不会导致停止容器)

导出和导入:

docker export  容器id  >  name.tar  导出容器快照到本地文件

cat docker/name.tar | docker import - test/ubuntu:v1     将快照文件name.tar导入到镜像text/ubuntu:v1

删除容器:docker rm -f 容器id

清理 所有处于终止状态的容器:docker container prune

运行一个web应用

    载入镜像:docker pull  training/webapp

    启动:docker run -d -P training/webapp python app.py            -P将容器内部的网络端口随机映射到使用的主机上

        或者自定义映射端口:docker run -d -p 8083:5000 training/webapp python app.py

查看容器端口映射情况:docker port   容器id/容器名称

查看日志:docker logs -f 容器id/names  滚动看日志

docker rm 移除容器只能移除停止状态的容器

二、镜像使用

镜像列表:docker images

下载镜像:docker pull  ubuntu:13.10

查找镜像:docker search httpd

删除镜像:docker rmi hello-world

创建镜像:docker build,需要先创建一个Dockerfile文件,包含以下内容

FROM    centos:6.7
MAINTAINER      Fisher "fisher@sudops.com"

RUN     /bin/echo 'root:123456' |chpasswd
RUN     useradd runoob
RUN     /bin/echo 'runoob:123456' |chpasswd
RUN     /bin/echo -e "LANG=\"en_US.UTF-8\"" >/etc/default/local
EXPOSE  22
EXPOSE  80
CMD     /usr/sbin/sshd -D

然后创建:docker build -t runoob/centos:6.7 .                     t指定镜像名   指定Dockerfile所在目录

为镜像添加一个新的标签:docker tag 镜像id centos:dev

更新镜像:创建一个容器docker run ,docker commit来提交容器副本    -m 描述 -a 作者  容器id  目标镜像名称(名称:版本)

三、Docker仓库     Docker Hub

登录/登出     docker login/logout

搜索:docker search

下载:docker pull ubuntu

推送:docker push username/ubuntu:dev

四、Dockerfile,定制镜像

新建Dockerfile文件,内容如下:

FROM nginx
RUN echo '这是一个本地构建的nginx镜像' > /usr/share/nginx/html/index.html

FROM:定制的镜像都是基于FROM的镜像,这里的nginx就是定制需要的基础镜像,后续的操作都是基于nginx.

RUN:用于执行后面跟着的命令行命令,有以下两种格式:

      shell格式:RUN <>

      exec格式:RUN ["可执行文件","参数1","参数2"]             RUN ./test.php dev offline

Dockerfile的指令每执行一次都会在docker上新建一层,可以使用&&连接符连接命令使之在同一层,避免过多无意义的层。

从容器中复制文件到系统,和普通的cp区别不大,容器的目录加了id/name:即可

docker cp 容器id/name:目录  系统目录

nginx

#自动生成的nginx.conf文件中指明了默认的配置,需要关掉  #include /etc/nginx/conf.d/*.conf;
docker run --name nginx81 -p 81:81 -v /bdl/docker/nginx/html/:/usr/share/nginx/html -v /bdl/docker/nginx/conf/nginx.conf:/etc/nginx/nginx.conf -v /bdl/docker/nginx/logs:/var/log/nginx  -d nginx:1.14.2

mysql

docker run --name mysql -p 3306:3306 -v /bdl/docker/mysql/conf:/etc/mysql/conf.d -v /bdl/docker/mysql/logs:/var/log/mysql -v /bdl/docker/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7.28 --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci

redis

docker run -it --name redis -p 6379:6379 -d redis

docker部署springboot项目

Dockerfile文件,chmod +X 权限;应用jar包;tmp文件夹

# Dockerfile内容
FROM java:8
# VOLUME 指定了临时文件目录为/tmp。
# 其效果是在主机 /var/lib/docker 目录下创建了一个临时文件,并链接到容器的/tmp
VOLUME /tmp 
# 将jar包添加到容器中并更名为app.jar
ADD wtf.jar app.jar 
ENTRYPOINT ["java","-jar","/app.jar"]  

当前目录镜像构建
docker build -t xxl-job . 

docker镜像离线打包部署

docker容器转镜像

# 将容器CONTAINER ID为6a4adf295f49 ,做成镜像,并命名为xxl-job-admin/1.0
docker commit 6a4adf295f49 xxl-job-admin/1.0
# 打包镜像xxl-job-admin/1.0到当前文件并命名为xxl-jab-admin1.0.jar
docker save -o xxl-jab-admin1.0.jar xxl-job-admin/1.0

导入镜像

# 导入镜像
docker load < xxl-jab-admin1.0.jar
# 查看镜像
docker images

# 运行容器
docker run --name xxl-job -p 8080:8080 -d xxl-job-admin/1.0
# 启动
docker start xxl-job-admin/1.0

docker常用命令

docker ps 
docker images
docker build -t name .
docker run --name mysql -p 3306:3306 -v /bdl/docker/mysql/conf:/etc/mysql/conf.d -d mysql:5.7.28
docker stop mysql
docker start mysql
docker container prune
docker rm mysql
docker rmi mysql:5.7.28
docker logs mysql
docker exec -it mysql bash
docker search  mysql
docker pull mysql:5.7.28
docker inspect mysql

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 要下载Docker笔记,首先需要了解Docker是什么以及其使用场景。 Docker是一种开源的容器化平台,可以帮助用户打包、部署和运行应用程序。通过使用容器化技术,用户无需担心运行环境的差异,可以将应用程序和其依赖项打包到一个可移植的容器中,随时在不同的环境中运行。 要下载Docker笔记,可以按照以下几个步骤进行操作: 1. 首先,需要在计算机上安装Docker。可以从Docker官方网站(https://www.docker.com/)上下载适合自己操作系统的Docker安装包,并按照安装指南进行安装。 2. 安装完成后,需要启动Docker服务。根据操作系统的不同,可以在启动菜单或终端中找到Docker应用程序,并点击打开。在Docker控制台中,可以查看、管理容器以及进行其他操作。 3. 接下来,需要搜索并下载Docker笔记的镜像。可以使用Docker Hub(https://hub.docker.com/)这个官方的镜像仓库,搜索关键词以找到合适的笔记镜像。在搜索结果中,会显示镜像的名称、描述、标签等信息,选择一个合适的镜像。 4. 找到想要下载的笔记镜像后,可以使用Docker命令行工具或Docker控制台中的图形界面来下载镜像。通过输入命令`docker pull 镜像名称:标签`,即可下载对应的笔记镜像到本地。 5. 下载完成后,可以使用`docker images`命令在本地查看已下载的镜像列表。根据下载的笔记镜像的名称和标签,可以使用`docker run`命令来创建并启动一个容器,从而运行笔记。 通过以上步骤,就可以成功下载Docker笔记并在本地运行。希望这些信息对您有帮助! ### 回答2: 要下载Docker笔记,首先需要知道从哪里获取这些笔记Docker有一个官方文档网站,其中包含了大量关于Docker的技术文档、教程和示例以及各种使用场景的说明。用户可以访问Docker官方网站,在文档部分进行浏览和搜索,找到所需的笔记。 在Docker官方文档网站上,用户可以按照主题、标签或关键字进行检索,以找到相关的笔记。网站还提供了各种文件格式的下载选项,包括PDF、EPUB和HTML版本,用户可以根据自己的使用习惯选择适合的格式进行下载。 此外,还有一些第三方资源库和网站提供了Docker相关的笔记下载。例如GitHub上有很多开源项目,其中包含了Docker的使用笔记和示例代码。用户可以通过在GitHub上搜索关键字"Docker笔记"或"Docker notes"来找到相关的项目,然后根据项目的说明进行下载。 总之,下载Docker笔记可以通过Docker官方文档网站或第三方资源库进行。用户可以根据自己的需求和偏好选择下载适合自己的格式和来源。 ### 回答3: 要下载 Docker 笔记,首先需要确保已经安装了 Docker 客户端工具。然后按照以下步骤进行下载: 1. 打开终端或命令提示符,输入以下命令来下载 Docker 笔记Docker 镜像: ``` docker pull [镜像名称] ``` 这里的 `[镜像名称]` 是 Docker Hub 上提供的 Docker 镜像名称,可以根据需要搜索并选择合适的镜像。 2. 等待镜像下载完成后,使用以下命令来创建和运行一个 Docker 容器,并将笔记下载到本地: ``` docker run -it --name [容器名称] [镜像名称] [下载命令] ``` 这里的 `[容器名称]` 是用于标识容器的名称,`[下载命令]` 是具体的下载命令,可以根据下载方式的不同进行相应的设置。 3. 等待下载完成后,可以使用以下命令来停止并删除容器: ``` docker stop [容器名称] docker rm [容器名称] ``` 这里的 `[容器名称]` 是之前创建容器时指定的名称。 通过以上步骤,你就可以成功下载 Docker 笔记到本地了。记得根据实际需求选择适合的 Docker 镜像和下载命令,同时也可以通过 Docker Hub 上的文档和社区提供的资源,了解更多有关 Docker 的使用方法和技巧。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值