Docker 基础使用命令

2023-05-16

Docker下载

配置阿里云Docker Yum源
[root@xingdian ~]# yum install -y yum-utils device-mapper-persistent-data lvm2 git
[root@xingdian ~]# yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

查看docker版本
yum list docker-ce --showduplicates

安装
[root@xingdian ~]# yum install docker-ce -y
或者指定版本安装
[root@xingdian ~]# yum install docker-ce-19.03.0.ce -y

启动Docker服务
[root@xingdian ~]# systemctl enable docker
[root@xingdian ~]# systemctl start docker

查看docker版本状态
[root@xingdian ~]# docker -v
Docker version 19.03.12, build 48a66213fe

查看docker运行状态:
[root@xingdian ~]# docker info

国内镜像站
https://www.daocloud.io
国外镜像站
https://hub.docker.com

要列出本地所有有效的镜像,可以使用命令
[root@docker ~]# docker images
[root@docker ~]# docker image list
[root@docker ~]# docker image ls

Docker容器
Docker容器可以使用命令创建:

[root@docker ~]# docker run imagename

查看Docker容器
[root@docker ~]# docker ps -a

拉取镜像
[root@docker ~]# docker pull centos #下载最新版本
[root@docker ~]# docker pull daocloud.io/library/centos:7.8.2003 #指定版本

查看镜像详情
[root@docker ~]# docker image inspect 镜像id

删除镜像:
删除一个或多个,多个之间用空格隔开,可以使用镜像名称或id

[root@docker ~]# docker rmi daocloud.io/library/mysql
强制删除:–force
如果镜像正在被使用中可以使用–force强制删除
[root@docker ~]# docker rmi docker.io/ubuntu:latest --force

删除所有的镜像
[root@docker ~]# docker rmi $(docker images -q)
#-q查出所有id号
只查看所有镜像的id:
[root@docker ~]# docker images -q

容器操作
1.启动容器并指定名为server并放后台运行

[root@docker ~]# docker run --name server -it -d centos:latest /bin/bash

2.使用镜像 nginx:latest,以后台模式启动一个容器,将主机的 80 端口映射到容器的 80 端口,主机的目录 /data 映射到容器的 /data。
[root@docker ~]# docker run -p 80:80 -v /data:/data -d nginx:latest

3.使用镜像nginx:latest以交互模式启动容器,容器内执行/bin/bash命令。
[root@docker ~]# docker run -it nginx:latest /bin/bash
参数:
• -v:文件映射,格式为:主机目录:容器目录
• -d: 后台运行容器,并返回容器ID;
• -i: 以交互模式运行容器,通常与 -t 同时使用;
• -p: 端口映射,格式为:主机(宿主)端口:容器端口
• -t: 为容器重新分配一个伪输入终端,通常与 -i 同时使用;
• --name=“nginx-lb”: 为容器指定一个名称;
• --dns 8.8.8.8: 指定容器使用的DNS服务器,默认和宿主一致;
• --dns-search example.com: 指定容器DNS搜索域名,默认和宿主一致;
• -h “mars”: 指定容器的hostname;
• -e username=“ritchie”: 设置环境变量;
• --cpuset-cpus=“0-2” or --cpuset-cpus=“0,1,2”: 绑定容器到指定CPU运行;
–privileged 以特权模式运行

4.查看容器
只查看运行状态的容器:
[root@docker ~]# docker ps
[root@docker ~]# docker ps -a
-a 查看所有容器
只查看所有容器id:
[root@docker ~]# docker ps -a -q
列出最近一次启动的容器
[root@docker ~]#docker ps -l

删除容器
[root@docker ~]# docker rm 容器id或名称
要删除一个运行中的容器,添加 -f 参数
根据格式删除所有容器:
[root@docker ~]# docker rm $(docker ps -a -q)

Docker部署私有仓库

仓库镜像,Docker hub官方已提供容器镜像registry,用于搭建私有仓库
拉取镜像
[root@xingdian ~]# docker pull daocloud.io/library/registry:latest

运行容器
[root@xingdian ~]# docker run --name registry-1 --restart=always -d -p 5000:5000 daocloud.io/library/registry
#–name 给运行的容器改个名字 --restat 不管docker是否重启与否,运行的这个docker都重新加载 -d 后台运行 -p 端口映射 前面的自定义只要不和主机中的端口起冲突就行 后面的是这个私有仓库的端口 如运行不成功就关闭防火墙重启docker

查看运行的容器
[root@xingdian ~]# docker ps -a
#-a 查看所有

连接容器查看端口状态:

[root@xingdian ~]# docker exec -it 容器的Id或更改的名字 /bin/sh #这里是sh 不是bash

/ # netstat -antpl #查看5000端口是否开启(容器内查看)

下面的操作在找台机器
在找台机器查看能否访问该私有仓库, 看看状态码是不是200
[root@xingdian registry]# curl -I 127.0.0.1:5000 # 主机的ip
HTTP/1.1 200 OK
Cache-Control: no-cache
Date: Thu, 08 Oct 2020 05:34:32 GMT

为了方便,下载1个比较小的镜像,buysbox
[root@xingdian registry]# docker pull busybox

上传前必须给镜像打tag 注明ip和端口:
[root@xingdian ~]# docker tag busybox 192.168.245.136:5000/busybox:v1

上传
[root@xingdian ~]# docker push 192.168.245.136:5000/busybox #会报以下错误
The push refers to repository [192.168.245.136:5000/busybox]
Get https://10.11.67.100:5000/v2/: http: server gave HTTP response to HTTPS client
默认为https 要改成http
[root@xingdian ~]# vim /etc/docker/daemon.json #加入以下内容
{ “insecure-registries”:[“192.168.245.136:5000”] }
重启docker:
[root@xingdian ~]# systemctl restart docker
再次上传
[root@xingdian ~]# docker push 192.168.245.136:5000/busybox

查看私有仓库里的所有镜像:
[root@xingdian ~]# curl 192.168.245.130:5000/v2/_catalog
{“repositories”:[“busybox”]}

查看私有仓库里的镜像版本:
[root@docker ~]# curl 10.11.67.110:5000/v2/busybox/tags/list
{“name”:“busybox”,“tags”:[“v1”,“v2”]}

将容器的文件系统打包成tar包

将容器的文件系统打包成tar文件,也就是把正在运行的容器直接导出为tar包的镜像文件。
打包
export
有两种方式 :
第一种:
[root@xingdian ~]# docker export -o 打包的镜像名字.tar 容器名字或id
第二种:
[root@xingdian ~]# docker export 容器名字或id > 打包的镜像名字.tar
导入镜像归档文件到其他宿主机:
import
[root@xingdian ~]# docker import 打包的镜像名字.tar 镜像名字

将镜像打包成tar包

打包
save
将镜像打包,与下面的load命令相对应
[root@xingdian ~]# docker save -o 打包的镜像名字.tar 镜像名字
保存一台宿主机上的镜像为tar文件,然后可以导入到其他的宿主机上。
导入
与上面的save命令相对应,将上面sava命令打包的镜像通过load命令导入
[root@xingdian ~]# docker load < 打包的镜像的名字.tar

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Docker 基础使用命令 的相关文章

随机推荐

  • 简单搭建Apache服务器

    1 安装Apache服务 yum y install httpd 2 启动自启Apache服务 systemctl enable now httpd 3 访问 xff08 默认是80端口 xff0c 需要开放防火墙 xff09 4 Apac
  • docker容器设置中文编码

    使用的Dockerfile指定变量的方法 ENV LANG en US utf8
  • mysql开通binlog权限

    GRANT SELECT REPLICATION SLAVE REPLICATION CLIENT ON TO 39 v5 binlog 39 64 39 39 IDENTIFIED BY 39 v5 binlog 39
  • MySQL查看所有用户

    MySQL查看所有用户
  • 【nginx】反向代理是,url包含特殊字符导致400错误

    现象 xff1a 在一个url参数中包含了特殊字符 xff0c 通过nginx请求 xff0c 报400错误 问题分析 xff1a 这个url请求 xff0c 绕开nginx xff0c 可以返回数据 xff0c 判定是nginx出现问题
  • KVM

    KVM安装 查看cpu是否支持虚拟化 cat proc cpuinfo grep E vmx svm 关闭防火墙和selinux 注 xff1a 如果虚拟机ping不通就把防火墙开起来 1 需求内核 rhel6以上 root 64 kvm
  • nginx 防盗链详细步骤

    tailf n0 access log 实时查看网页访问详情 curl e www baidu com 127 0 0 1 e 添加访问头 本机的配置文件内容 本机的网站发布目录 别人的链接网站发布目录
  • nginx 404错误页面配置详解

    nginx 错误页面配置 再主配置文件server中加入一个location模块即可 vim etc nginx conf d default conf server listen 80 server name localhost loca
  • nginx 版本升级和添加模块详解

    版本升级 把1 16 0版本升级为1 18 0 查看本机现在版本为1 16 0 root 64 localhost usr local nginx sbin nginx v nginx version nginx 1 16 0 1 xff0
  • lvs架构

    lvs 4种模式 1 nat 网络地址转换模式 2 dr 直接路由模式 3 tun 隧道模式 4 full nat 双向转换模式 1 xff0c nat xff08 网络地址转换模式架构 xff09 1 nat模式优势是 xff0c 后端可
  • nginx 代理 负载均衡 网站转接的用法

    反向代理 1 xff0c 准备两台nginx真实服务器 a nginx 1 启动网站 内容 xff08 作为网站服务器 xff09 b nginx 2 启动代理程序 一 编辑nginx 2的配置文件 root 64 nginx server
  • LVS_Director + KeepAlived 部署

    1 xff0c 准备四台net机器 其中两台做主 备调度 别外两台做web机器 主 备调度器安装软件 root 64 lvs keepalived master yum y install ipvsadm keepalived 主 root
  • tomcat 详情介绍与部署

    1 xff0c 部署tomcat 安装JDK JDK下载面页 xff1a http www oracle com technetwork java javase downloads index html 下载jdk1 8到服务器 安装jdk
  • Redis 部署及介绍

    1 安装单机版redis root 64 redis master mkdir p data application 创建工作目录 root 64 redis master wget http download redis io relea
  • shenyu中logback替换成log4j2

    一 背景 shenyu框架默认使用的是logback处理日志 xff0c 压测发现写入日志存在瓶颈 基于log4j2优秀的性能 xff0c 使用log4j2替换logback 二 如何替换logback 1 删除logback的依赖项 sp
  • 图片项目部署

    1 xff0c 准备 mysql 主从 43 读写分离 3台 nginx 43 uwsgi 43 python3 6 1台 redis 哨兵 3台 A nginx uwsgi python3 上传代码包 xff0c 调试 B mysql r
  • Git 构建分布式版本控制系统详解

    安装git要4G以上内存 安装和配置必要的依赖关系 root 64 localhost yum install curl policycoreutils openssh server openssh clients 安装邮件程序 root
  • jenkins 详细部署

    部署jenkins需要以下的步骤 环境需要4G内存 1 xff0c 部署git 安装依赖环境 root 64 localhos yum install curl devel expat devel gettext devel openssl
  • RabbitMQ消息队列的部署

    RabbitMQ消息队列的用处 对于一个大型的软件系统来说 xff0c 它会有很多的组件或者说模块或者说子系统 xff08 subsystem or Component or submodule xff09 那么这些模块的如何通信 xff1
  • Docker 基础使用命令

    Docker下载 配置阿里云Docker Yum源 root 64 xingdian yum install y yum utils device mapper persistent data lvm2 git root 64 xingdi