首页 > 其他分享 >docker入门

docker入门

时间:2023-02-17 11:35:58浏览次数:57  
标签:容器 入门 -- yum 镜像 docker com

一、简介

1.docker简介
  1. 正常部署一个项目环境配置相当麻烦,jdk、mysql、redis等,比如换一台服务器需要重新配置
  2. 可以利用docker的可移植性,将环境一模一样的复制
  3. Docker的出现使得Docker得以打破过去「程序即应用」的观念。透过镜像(images)将作业系统核心除外,运作应用程式所需要的系统环境,由下而上打包,达到应用程式跨平台间的无缝接轨运作
2.docker理念

解决了运行环境和配置问题的软件容器, 方便做持续集成并有助于整体发布的容器虚拟化技术。

二、docker安装

# centos7+环境安装docker

#安装ggc
yum -y install gcc
yum -y install gcc-c++
#安装需要软件包
yum install -y yum-utils
#设置stable镜像仓库
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
#更新yum软件包索引
yum makecache fast
#安装DOCKER CE
yum -y install docker-ce docker-ce-cli containerd.io
#启动docker
systemctl start docker
#测试
docker version
#卸载
systemctl stop docker
yum remove docker-ce docker-ce-cli containerd.io
rm -rf /var/lib/docker
rm -rf /var/lib/containerd

三、docker常用命令

1.帮助启动命令
  • 启动docker: systemctl start docker
  • 停止docker: systemctl stop docker
  • 重启docker: systemctl restart docker
  • 查看docker状态: systemctl status docker
  • 开机启动: systemctl enable docker
  • 查看docker概要信息: docker info
  • 查看docker总体帮助文档: docker --help
2.镜像操作
$ docker images 					#查看镜像
$ docker search OPTIONS xxx    		#搜索镜像 	
$ docker pull xxx:latest			#拉取镜像
$ docker system df 					#查看镜像/容器/数据卷所占的空间
$ docker rmi -f xxx			  		#删除镜像

REPOSITORY:表示镜像的仓库源

TAG:镜像的标签版本号

IMAGE ID:镜像ID

CREATED:镜像创建时间

SIZE:镜像大小

OPTIONS说明:

limit : 只列出N个镜像,默认25个

docker search --limit 5 redis

last 版本号

3.容器操作
$ docker rum [options] image [command]		运行镜像
$ docker ps         # 查看正在运行的容器
$ docker ps -a      # 查看所有容器
$ docker ps -l      # 查看最近一次运行的容器
$ docker create 容器名或者容器ID    # 创建容器
$ docker start [-i] 容器名        # 启动容器

$ docker run 容器名或者容器ID       # 运行容器,相当于docker create + docker start
$ docker run --name nginx01 -p 80:80 -d nginx # 创建并运行容器
--name nginx01:容器别名。
-p 8080:80: 端口进行映射,将本地 8080 端口映射到容器内部的 80 端口。
-d nginx: 设置容器在在后台一直运行

$ docker attach 容器名或者容器ID bash     # 进入容器的命令行(退出容器后容器会停止)
$ docker exec -it 容器名或者容器ID bash   # 进入容器的命令行 退出容器不会停止
$ docker stop 容器名                    # 停止容器
$ docker kill 容器名
$ docker rm 容器名                      # 删除停止的容器
$ docker top 容器名                    # 查看WEB应用程序容器的进程
$ docker inspect 容器名                # 查看Docker的底层信息
$ docker logs 容器名                    #查看容器日志

OPTIONS说明(常用):有些是一个减号,有些是两个减号

-d: 后台运行容器并返回容器ID

-i:以交互模式运行容器,通常与 -t 同时使用;

-t:为容器重新分配一个伪输入终端,通常与 -i 同时使用;

-p: 指定端口映射

# docker 安装mysql
$ docker pull mysql:5.6
# 查看本地镜像
$ docker images
# 运行容器
$ docker run -itd --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=root mysql:5.6
4.docker镜像
  1. 什么是镜像

    轻量级,可执行独立软件包,包含运行某个软件所需的所有内容,把应用程序和配置依赖打包好形成一个可交付的运行环境

  2. 分层的镜像

    在pull下载过程种可以看到docker的镜像好像是在一层一层的在下载

  3. UnionFS(联合文件系统)

镜像可以通过分层来进行继承

  1. Docker镜像加载原理

    docker的镜像实际上由一层一层的文件系统组成,这种层级的文件系统UnionFS。

    bootfs(boot file system)主要包含bootloader和kernel, bootloader主要是引导加载kernel, Linux刚启动时会加载bootfs文件系统,在Docker镜像的最底层是引导文件系统bootfs

  2. 为什么 Docker 镜像要采用这种分层结构

    镜像分层最大的一个好处就是共享资源,方便复制迁移,就是为了复用

  3. 重点理解

    Docker镜像层都是只读的,容器层是可写的 当容器启动时,一个新的可写层被加载到镜像的顶部

5.容器打包镜像
docker commit [OPTIONS] CONTAINER [REPOSITORY[:TAG]]
#示列
docker commit -a "qxd" -m "this is tomcat test" 1cff900e2ef6 tomcat:v1

-a :提交的镜像作者;
-c :使用Dockerfile指令来创建镜像;
-m :提交时的说明文字;
-p :在commit时,将容器暂停

6.本地镜像上传阿里云

https://cr.console.aliyun.com/cn-hangzhou/instances 阿里容器镜像服务

  1. 命令空间创建

  2. 创建镜像仓库

  3. 管理创建的镜像仓库

    根据操作指南· 将镜像推送到阿里云

#1. 登录阿里云Docker Registry 
$ docker login --username=10841*****@qq.com registry.cn-hangzhou.aliyuncs.com
#2. 将镜像推送到Registry
$ docker login --username=10841*****@qq.com registry.cn-hangzhou.aliyuncs.com
$ docker tag [ImageId] registry.cn-hangzhou.aliyuncs.com/qxd_private/imags:[镜像版本号]
$ docker push registry.cn-hangzhou.aliyuncs.com/qxd_private/imags:[镜像版本号]
#3. 从Registry中拉取镜像
$ docker pull registry.cn-hangzhou.aliyuncs.com/qxd_private/imags:[镜像版本号]

二、高级篇

标签:容器,入门,--,yum,镜像,docker,com
From: https://www.cnblogs.com/cyxlj/p/17121928.html

相关文章

  • docker直接部署Jar包并运行
    一.拉取jdk镜像dockerpullopenjdk二.创建数据卷dockervolumecreatejava_appjava_app是数据卷名称,可以随便取三.将jar文件拷贝到数据卷目录下将jar拷贝目......
  • docker-composer nginx+php 注意点
    如果用fpm的情况下项目运行目录一致,同时注意nginx.conf的配置,自带的要换下location~\.php${fastcgi_passnp-php73-1:9000;fastcgi_indexin......
  • docker nacos 集群 部署
    准备安装mysql(192.168.1.101)建库nacos_config安装docker(yum方式)安装nacosdocker(参看前一篇)集群部署方案三台Linux服务器nacos-server-01192.168.1.136nac......
  • Ubuntu Docker 安装
    DockerEngine-Community支持以下的Ubuntu版本:Xenial16.04(LTS)Bionic18.04(LTS)Cosmic18.10Disco19.04其他更新的版本……DockerEngine-Community支......
  • docker 项目从构建到推送
    此次示例针对python项目1.准备工作:请确保已经安装好Docker2.准备项目2.1只需要在项目的根目录进行操作就能只打包对应的项目2.2列表项目的依赖pipinstall......
  • Nacos docker单机版 +Mysql 安装
     **确保已经安装了dockerserver查询nacos镜像dockersearchnacos[root@machine136nacos]#dockersearchnacosNAMEDESCRIPT......
  • Docker
    Docker常用命令dockerimagesdockerpull镜像名dockerps-adockerrun/stop/start/restartdcokervolume(creat,ls,inspect)dockerlogs容器名dockerexec-it......
  • Docker部属Ewomail邮件服务器
    属性 值操作系统 CentOSLinux发行版7.6.1810(核心)云服务器 畅行云(不要用阿里云,因为没有开放25端口,其他可咨询云提供商)域名 网海情网端口 鸽舍(110、143)后缀(25)......
  • 强制删除docker镜像
    报错内容:[root@localhosttutorial]#dockerrmi502Errorresponsefromdaemon:conflict:unabletodelete50258e6b90de(mustbeforced)-imageisreferenced......
  • Docker客户端登录启用了HTTPS的Harbor要注意的事项
    首先在Harbor将要部署的主机上创建Harbor专用的证书目录:mkdir-p/data/harbor/certs/cd/data/harbor/certs生成CA证书的私钥opensslgenrsa-outca.key409......