首页 > 其他分享 >Docker入门

Docker入门

时间:2023-08-13 14:35:35浏览次数:38  
标签:容器 入门 -- nginx html 镜像 docker Docker

一、安装

1、linux 安装(老师的方法:)

2、内核升级(CentOS6.X 升级内核 至 3.10)

3、阿里云的docker镜像仓库

4、卸载

  • yum list installed | grep docker
  • yum -y remove docker-engine.x86_64
  • rm -rf /var/lib/docker

5、操作工具nsenter的安装

6、windows安装

二、操作

1、client 中的操作命令

  • docker build --创建
  • docker pull --拉取
  • docker search nginx --在docker hub上查找nginx
  • docker run --name <设置容器名字> --运行镜像
  • docker run -dit -p 80:80 nginx --运行nginx镜像
  • docker images --查看本地已有的镜像
  • docker rmi <image_id> 删除镜像
  • docker ps -- 查看正在运行的容器信息
  • docker ps -a --查看所有状态的容器信息
  • docker stop <CONTAINER ID> --停止容器
  • docker start <CONTAINER ID> --重新启动容器
  • docker rm <container_name> --删除容器(docker rm)
  • docker rm $(docker ps -a -q) --删除所有容器

2、docker 进入容器,及docker 的相关命令

  • 使用docker attach命令(只要这个连接终止,或者使用了exit命令,容器就会退出后台运行) : docker attach <name> 或者 docker attach <id>
  • 使用docker exec命令(命令使用exit命令后,不会退出后台,一般使用这个命令):docker exec -it <name> /bin/bash 或者 docker exec -it <id> /bin/bash
  • ctrl+p ctrl+q 退出

三、在现有的容器上,创建新的镜像

  • docker commit -m 'fun' <CONTAINER ID> <new_image_name>

四、Dockerfile的使用

1、创建一个Dockerfile内容:

  • mkdir workdir
  • cd ./workdir
  • touch Dockerfile
FROM alpine:latest
MAINTAINER anquing
CMD echo "hello Docker"

2、创建镜像

  • 在Dockerfile文件同级目录执行:
docker build -t hello_docker .
  • 查看:
docker images
  • 执行测试:
docker run hello_docker

3、语法

命令用途
FROM base image
RUN 执行命令
ADD 添加文件
COPY 拷贝文件
CMD 执行命令
EXPOSE 暴露端口
WORKDIR 指定路径
MAINTAINER 维护者
ENV 设定环境
ENTRYPOINT 容器入口
USER 指定用户
VOLUME mount point

五、Volume的使用,提供独立于容器外的持久存储

1、持久化到docker中

docker run  -d --name nginx -p 80:80 -v /usr/share/nginx/html nginx

说明:在80端口启动nginx容器,设置容器名为nginx,及将/usr/share/nginx/html下文件永久保存在docker中的某个目录下

  • 检验
docker inspect nginx

会看到

"Volumes": {
        "/usr/share/nginx/html": "/var/lib/docker/volumes/816ec5662f5254cc6c3cdd3296bbb094587ceb0ea52b59aeb34103e387feef47/_data"

在以下目录对文件进行修改后,容器中对应的文件也会变化

cd /var/lib/docker/volumes/816ec5662f5254cc6c3cdd3296bbb094587ceb0ea52b59aeb34103e387feef47/_data

echo hello >index.html

docker exec -it <CONTAINER ID> /bin/bash

cd /usr/share/nginx/html

cat index.html

2、持久化到本地主机中

docker run  -d --name nginx -p 80:80 -v $PWD/html:/usr/share/nginx/html nginx

说明:在80端口启动nginx容器,设置容器名为nginx,及将/usr/share/nginx/html下文件永久保存在本地主机执行命令时的目录下的html子目录下

在$PWD/html目录下操作:

touch index.html

echo '<html><h1>docker<h1></html>' >index.html

curl http://localhost

输出:<html><h1>docker<h1></html>

3、持久化到本容器以外的容器中

docker run -it --volumes-from <CONTAINER ID> ubnutu /bin/bash 

说明:-it 及 /bin/bash 作用是直接进入容器的交互中

  • 验证(使用ubuntu镜像):为了方便,先创建一个容器,将容器某个目录持久化到本地某个目录下。然后新的容器持久化此容器中,就等于间接地持久化本地目录中,方便操作
docker create -v $PWD/data:/var/mydata --name data_container ubuntu

docker run -it --volumes-from data_container ubnutu /bin/bash

六、registry的使用,registry注册服务器 管理 repository(镜像仓库)

1、术语

英文中文
host 宿主机
image 镜像
container 镜像
registry 容器
daemon 守护程序
client 客户端

2、客户端命令

  • docker search whalesay
  • docker pull docker/whalesay
  • docker run docker/whalesay cowsay Docker 很好玩! 以下是提交:
  • docker tag docker/whalesay anquing/whalesay
  • docker images
  • docker login 回车,输入账号及密码
  • docker push anquing/whalesay

3、国内的一些仓库

  • daocloud
  • 时速云
  • aliyun

七、docker-compose的使用,多容器app

1、独立安装

3、实战

  • 将所有的容器的Dockerfile文件都创建在总目录/容器名(自定义)下,如果有其他配置文件,也在这个目录下创建
  • 在总目录下创建docker-compose.yml文件
  • docker-compose up -d --启动
  • docker-comose stop --停止
  • 如果修改过容器的配置文件,在up之前先docker-compose build

4、docker-compose.yml常用命令

命令用途
build 本地创建镜像
command 覆盖缺省命令
depends_on 连接容器
ports 暴露端口
volumes
image pull镜像
up 启动服务
stop 停止服务
rm 删除服务中的各个容器
logs 观察各个容器的日志
ps -a 列出服务相关容器 

标签:容器,入门,--,nginx,html,镜像,docker,Docker
From: https://www.cnblogs.com/anquing/p/17626537.html

相关文章

  • pinia入门案例-获取频道分类列表并渲染
    使用pinia的action异步获取频道分类列表数据并渲染到页面中。接口:GET请求,http://geek.itheima.net/v1_0/channelsstore/channel.jsimport{defineStore}from'pinia'import{ref,computed}from"vue"importaxiosfrom'axios'exportconstuseChannelStore=......
  • 使用 Docker 部署 Mongodb
    Mongodb是最像关系型数据库的NoSql数据库,其数据类型非常丰富,数据结构松散,采用类似Json的Bson二进制格式存储数据,还支持对索引功能。主要应用在数据量大、读多写少或者读写都比较频繁、数据价值较低的场景中,如果社交平台的点赞和评论、游戏、物流信息和轨迹存储等。由于在......
  • 【Freertos基础入门】深入浅出freertos互斥量
    @TOC前言FreeRTOS是一款开源的实时操作系统,提供了许多基本的内核对象,其中包括互斥锁(Mutex)。互斥锁是一种常用的同步机制,用于确保在同一时间内只有一个任务可以访问共享资源,防止竞态条件等并发问题。本文将介绍FreeRTOS中的互斥锁的使用方法和注意事项。一、互斥量是什么?当多个任务......
  • Docker
    1.Dockocker是 PaaS 提供商dotCloud开源的一个基于 LXC 的高级容器引擎;Docker是基于Go语言开发的开源项目www.docker.com 文档为https://docs.docker.com(文档超级详细)仓库地址:https://hub.docker.com  VM与Docker的不同:VM,虚拟出一套硬件,运行完整的操......
  • Caddy 入门实战(2)--简单使用
    本文主要介绍Caddy的实际使用,配置Caddy使用Caddyfile+CLI的方式;文中所使用到的软件版本:Centos7.9.2009、Caddy2.4.6。1、配置日志{log{outputfile/home/mongo/soft/caddy_2.6.4/caddy.loglevelINFOformatconsole{......
  • Docker配置Web
    Docker配置Web一、安装Docker安装步骤详见:Ubuntu20.04安装DockerDocker构建nginx+uwsgi+flask镜像(二)Docker容器化部署Flask项目+Gunicorn+Nginx二、方法一:搭建服务1、抓取镜像抓取最新镜像:$dockerpullubuntu抓取指定版本镜像:$dockerpullubuntu:18.04......
  • Docker
    Docker[Docker教程](Docker教程|菜鸟教程(runoob.com))[Docker入门教程](Docker入门教程-阮一峰的网络日志(ruanyifeng.com))简介软件开发最大的麻烦事之一,就是环境配置。用户计算机的环境都不相同,要保证自家的软件能在那些机器跑起来,用户必须保证两件事:操作系统......
  • JavaWeb之Servlet入门版教务系统(四)
    之前分享了教务系统中的系统管理模块的具体内容,相信或多或少都收获到了一些东西,今天继续讲述教务系统下的邮件系统模块。首先说一下我写的时候的思路,该模块下主要包含写邮件、收邮件、发邮件、草稿箱、垃圾箱等五个主要功能,用户通过登录系统后,可以在收件箱中看到其他用户给自己发送......
  • IDEA集成docker并快速部署Springboot项目
    前言:现在docker是我们常用的服务部署方式了,在微服务中对于springboot部署到docker一般有两种方式1、把jar包扔给运维同学,由他们进行编写dockerfile或者其他方式部署。(不推荐)2、由开发同学处理后把镜像或者容器上传到服务器(企业级常用方式)下面我们就通过demo来看下方式二......
  • docker搭建Ftp服务器
    原文地址:https://www.yii666.com/blog/47876.html拉取镜像dockerpullfauria/vsftpd运行dockerrun-d-p21:21-p20:20-p65001-65006:65001-65006\-v/data/ftp:/home/vsftpd/ftp\-eFTP_USER=pgms\-eFTP_PASS=intest\-ePASV_ADDRESS=***.**.**.**\-e......