首页 > 其他分享 >docker

docker

时间:2023-10-16 18:23:19浏览次数:36  
标签:容器 ubuntu 镜像 docker ID latest

Docker的安装

以ubuntu安装为例子

1、如果安装过需要先卸载

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

2、安装命令

sudo apt-get update

3、安装几个工具软件

#  \ 符号为 续行符号,表示继续到下一行。
sudo apt-get install \
	apt-transport-https \
	ca-certificates \
	curl \
	gnupg \
	lsb-release

4、添加Docker的官方GPG key

gpg:用来验证软件的真伪

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg

5、再次安装Docker

更新系统
sudo apt-get update
下载docker-ce软件
sudo apt-get install docker-ce docker-ce-cli containerd.io -y

6、验证是否安装成功

验证是否有该进程
ps aux | grep docker
进行一个docker容器
sudo docker run hello-world
检测是否为最新版本
docker version

Docker 镜像

镜像

Docker运行容器前需要本地对应的镜像。如果镜像不存在,docker会去镜像仓库中下载

获得镜像

可以用docker pull 命令来从仓库获取需要的镜像

举例:从Docker Hub仓库中下载Ubuntu镜像

root@hecs-230231:~# docker pull ubuntu:latest
latest: Pulling from library/ubuntu
7b1a6ab2e44d: Pull complete
Digest: sha256:626ffe58f6e7566e00254b638eb7e0f3b11d4da9675088f4781a50ae288f3322
Status: Downloaded newer image for ubuntu:latest
docker.io/library/ubuntu:latest

image-20231014164700219

下载过程中,会输出获取镜像的每一层的信息。

该命令等价于docker pull registry.hub.docker.com/ubuntu:latest命令,即从注册服务器registry.hub.docker.com中的ubuntu仓库来下载latest的镜像。

有时候官方仓库注册服务器下载比较慢,可以从其他仓库中下载。以阿里云镜像加速为例,配置流程:

sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["https://<个人的地址号>.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker

列出本地镜像

使用docker images 显示出本地已有的镜像

root@hecs-230231:~# docker images
REPOSITORY    TAG       IMAGE ID       CREATED         SIZE
hello-world   latest    9c7a54a9a43c   5 months ago    13.3kB
ubuntu        latest    ba6acccedd29   24 months ago   72.8MB
root@hecs-230231:~#

显示出的字段信息

  • REPOSITORY : 来源哪个仓库,如ubuntu
  • TAG :镜像的标签, 如latest
  • IMAGE ID : 镜像ID (唯一)
  • CREATED:创建时间
  • SIZE :镜像大小

启动镜像

1、docker run -ti ubuntu:latest /bin/bash

2、docker run -ti ba6acccedd29 /bin/bash

上传镜像

  1. 登录docker。 使用docker login 命令登录docker

image-20231015102014384

​ 2.通过 docker push 命令上传镜像

镜像命令

docker images  #查看所有本地主机的镜像
docker search 镜像名   #搜索镜像
docker pull 镜像名 [标签]  #下载镜像(如果不写tag,默认是latest)
docker rmi 镜像名 [标签]   #删除镜像    docker rmi -f $(docker images -aq)  删除全部镜像
docker tags  镜像名:版本   新镜像名:版本    #复制镜像并且修改名称
docker commit  -a "xxx"  -c "xxx" 镜像ID 名字:版本   #提交镜像 
-a :提交的镜像作者;
-c :使用Dockerfile指令来创建镜像;
-m :提交时的说明文字;

docker load -i    /xxx/xxx.tar   #导入镜像
docker save -o   /xxx/xxx.tar    #保存一个镜像为一个tar包

Docker 容器

Docker 基本命令

docker images

​ 获取本地所有的镜像

image-20231015102901183

docker info

​ 获取docker所有的基本信息

image-20231015102952231

在docker hub中搜索nginx 镜像
docker search  nginx  

docker log

查看一个镜像的日志

docker log 【镜像名】

容器命令

docker run 
	语法:dockers run [可选参数] 镜像名
    #参数说明
     --name = "Name" 容器名字
     -c 后面跟待完成的命令
     -d 以后台的方式运行并且返回ID,启动守护进程式容器
     -i 使用交互方式运行容器,通常与t同时使用
     -t 为容器重新分配一个伪终端
     -p 指定容器端口
     -P 随机指定端口
     -v 给容器挂载存储卷





docker build  #创建镜像       

 -f:指定dockerfile文件路径   -t:镜像名字以及标签
docker logs 容器实例的ID          #查看容器日志
docker rename 旧名字  新名字      #给容器重新命名
docker top    容器实例的ID       #查看容器内进程
docker ps -a    #列出所有容器(不加-a就是在运行的)
docker rm      容器实例的ID   #删除容(正在运行容器不能删除,除非加-f选项)
docker kill  容器实例的ID        #杀掉容器
docker history   容器实例的ID    #查看docker镜像的变更历史
docker start 容器实例的ID        #启动容器
docker restart 容器实例的ID       #重启容器
docker stop 容器实例的ID         #停止正在运行的容器
docker attach /docker exec  容器实例的ID   
#同为进入容器命令,不同的是attach连接终止会让容器退出后台运行,而exec不会。并且,docker attach是进入正在执行的终端,不会情动新的进程,而docker exec则会开启一个新的终端,可以在里面操作。
docker image inspect  容器名称:容器标签       #查看容器内源数据
docker cp  容器id:容器内路径   目的主机路径           #从容器内拷贝文件到主机(常用)或者从主机拷贝到容器(一般用挂载)
exit                           #直接退出容器 
crlt + P + Q                   #退出容器但是不终止运行

标签:容器,ubuntu,镜像,docker,ID,latest
From: https://www.cnblogs.com/Zncoro/p/17768045.html

相关文章

  • linux学习记录(租云服务器及配docker环境) 10.16
    租到的服务器1、毛坯(1)框架(2)thrift2、服务(配好环境的服务器)(1)socket:比如数据库,获得一个IP地址+端口号访问(2)http:重中之重:把毛坯搭好,服务用现成的docker可迁移,且y总会给我们环境镜像,省掉配环境的过程 未来开发的主要工作环境在docker里面docker可配置ssh登录 ......
  • docker容器部署jenkins
    1.下载镜像dockerpulljenkins/jenkins2.创建用户和数据目录并授权useradd-u1000jenkins-M-s/sbin/nologinmkdir/data/jenkins/-pchown-Rjenkins:jenkins/data/jenkins/3.运行镜像dockerrun\--namejenkins\-p8080:8080-p50000:50000\--privilege......
  • Docker一
    Docker架构镜像:一个只读的模板,镜像可以用来创建Docker容器,一个镜像可以创建多个容器、一个镜像代表一个软件,如:mysql镜像、redis镜像、nginx镜像容器:(Container)容器是用镜像创建的运行实例,他可以被启动、开始、停止、删除。每个容器都是相互隔离的、保证安全的可以把容器看作是一个......
  • Docker 安装 Es
    dockerpullelasticsearch:7.4.2存储和检索数据dockerpullkibana:7.4.2可视化检索数据mkdir-p/mydata/elasticsearch/configmkdir-p/mydata/elasticsearch/dataecho"http.host:0.0.0.0">>/mydata/elasticsearch/config/elasticsearch.ymlchmod-R777/......
  • 部署 Docker 容器
    一.基于centos的rpm方式部署docker1)添加docker的软件源[root@docker~]#curl-s-o/etc/yum.repos.d/docker-ce.repohttps://download.docker.com/linux/centos/docker-ce.repo2)查看现有的docker版本[root@docker~]#yumlistdocker-ce--showduplicates|sort......
  • docker安装配置oracle19c
    1.拉取oracle19c镜像,我这边使用的是:registry.cn-hangzhou.aliyuncs.com/zhuyijun/oracle2.创建Oracle容器: dockerrun-d-p1521:1521--nameoracle19c-dregistry.cn-hangzhou.aliyuncs.com/zhuyijun/oracle:19c  可以看到状态是Starting,具体日志可以查看 dock......
  • Docker安装
    在Linux下安装docker   yum-yinstallgcc   yum-yinstallgcc-c++       #卸载原来的docker   yumremovedocker\                     docker-client\                     docker-client-latest\  ......
  • Docker note
    1.1Docker服务相关命令启动dockers服务:systemctlstartdocker停止dockers服务:systemctlstopdocker重启dockers服务:systemctlrestartdocker查看dockers服务状态:systemctlstatusdocker设置开机启动docker服务:systemctlenabledocker1.2镜像相关命令1.2.1查......
  • Docker 安装Redis
    一、下载redis镜像dockerpullredis二、创建数据卷映射路径、配置redis.confmkdir-p/usr/local/myredis/confvimredis.conf#redis.confappendonlyyes配置内容可以参考https://github.com/redis/redis/blob/unstable/redis.conf启用内存过渡分配#修改配......
  • Using Docker Desktop with WSL2
    WindowsSubsystemforLinux(WSL)2isafullLinuxkernelbuiltbyMicrosoft,whichletsLinuxdistributionsrunwithoutmanagingvirtualmachines.WithDockerDesktiprunningonWSL2,userscanleverageLinuxworkspacesandavoidmaintainingbothLinux......