Docker 常用命令与时区配置指南

#作者:程宏斌

文章目录

处理容器和系统时间不同步问题(时区)

  • 可用(修改时区):timedatectl set-timezone "Asia/Kolkata" timedatectl set-timezone "Asia/Shanghai"
  • 修改时间:timedatectl set-time 15:58:30
  • 修改日期:timedatectl set-time 20151120
  • 时间+日期:timedatectl set-time '16:10:40 2015-11-20'

或者:

  • 复制相应的时区文件,替换系统时区文件;
    cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

有的容器基础镜像是有这个文件的,直接拷贝就可以,如果不能拷贝,则是因为创建镜像时依赖的基础镜像 运行的容器没有这两个文件,使用下面的办法

  • 创建文件夹
    mkdir -p /usr/share/zoneinfo/Asia
  • 回到宿主机,复制宿主机里的文件到容器中
    docker cp /usr/share/zoneinfo/Asia/Shanghai 容器ID或容器名:/usr/share/zoneinfo/Asia
  • 进入容器
    docker exec -it 容器Id或容器名 bash
    执行命令 cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
  • 验证date
    bash-5.0# date
    Tue Sep 17 13:54:25 CST 2019
    更改后重启即可生效

docker常用命令

  • 容器常用的管理命令:

    docker --version (查版本)
    docker search (想要搜索的东西)
    docker ps -a 查看已经创建的容器
    docker ps -s 查看已经启动的容器
    docker rename old_name new_name 重命名一个容器
    docker logs con_name 获取容器日志
    docker inspect 查看容器的详细信息
    docker top 查看容器内部的进程
    docker start -ia web1 启动并且进入一个容器
    docker start/stop id/name 启动/停止某个容器
    docker run -i(交互式) -t(终端) centos /bin/bash 运行进入centos
    docker attach id 进入某个容器(使用exit退出后容器也跟着停止运行)
    docker exec -ti id 启动一个伪终端以交互式的方式进入某个容器(使用exit退出后容器不停止运行)
    docker run --name test -ti centos /bin/bash 复制centos容器并且重命名为test且运行,然后以伪终端交互式方式进入容器,运行bash
    docker build -t soar/centos:7.1 目录下的Dockerfile创建soar/centos:7.1的镜像
    docker run -d -p 2222:22 --name test soar/centos:7.1 以镜像soar/centos:7.1创建名为test的容器,并以后台模式运行,并做端口映射到宿主机2222端口,P参数重启容器宿主机端口会发生改变
    docker images 查看本地镜像域名 docker rm id/name 删除容器 docker rmi id/name 删除镜像

  • 导出镜像到指定文件:

    docker save -o centos.tar centos:latest docker export -o centos.tar centos:latest

    save导出的文件要大于export export导出的文件无法保留镜像所有得历史,不能回滚

    只做备份用save,load即可,若是启动容器后,内容有变化需要备份,用export,import

  • 指定文件导入成镜像:

    docker load -i centos.tar centos:latest docker import centos.tar centos:latest

    docker run --name test -ti centos /bin/bash 复制centos容器并且重命名为test且运行,然后以伪终端交互式方式进入容器,运行bash

    docker run -i -t centos /bin/bash 立即进入centos

    docker build -t soar/centos:7.1 . 通过当前目录下的Dockerfile创建一个soar/centos:7.1的镜像

    docker run -d -p 2222:22 --name test soar/centos:7.1 以镜像soar/centos:7.1创建名为test的容器,并以后台模式运行,并做端口映射到宿主机2222端口,P参数重启容器宿主机端口会发生改变

    更改docker的默认存储位置(空间不足的时候)

    vim /etc/docker/daemon.json

    "graph": "/data/docker",

Docker-compose

定义和运行多容器 Docker 应用程序的工具。通过 Compose,您可以使用 YML 文件来配置应用程序需要的所有服务

卸载docker需要删除/etc/docker 下的.Json文件才行

Docker-compose -f xx.yaml up -d

Docker info:

Client: #docker客户端信息

Debug Mode: false

Server: #docker服务器端信息

Containers: 2 #容器数量

Running: 1 #正在运行的数量

Paused: 0 #暂停的数量

Stopped: 1 #已停止的数量

Images: 10 #镜像数量

Server Version: 19.03.12 #docker服务器版本

Storage Driver: overlay2 #docker存储驱动程序
overlay有两层一个upper文件系统和一个lower文件系统,分别代表Docker的镜像层和容器层

Backing Filesystem: xfs #文件系统

Supports d_type: true

Native Overlay Diff: true

Logging Driver: json-file #日志驱动程序

Cgroup Driver: cgroupfs #Cgroup驱动程序

Plugins: #插件信息

Volume: local

Network: bridge host ipvlan macvlan null overlay

Log: awslogs fluentd gcplogs gelf journald json-file local logentries splunk syslog

Swarm: inactive #Swarm状态

Runtimes: runc #runtimes信息

Default Runtime: runc #默认runtime

Init Binary: docker-init

containerd version: 7ad184331fa3e55e52b890ea95e65ba581ae3429

runc version: dc9208a3303feef5b3839f4323d9beb36df0a9dd

init version: fec3683

Security Options: #安全选项

seccomp

Profile: default

Kernel Version: 3.10.0-1127.el7.x86_64 #linux内核版本

Operating System: CentOS Linux 7 (Core) #linux操作系统

OSType: linux #操作系统类型

Architecture: x86_64

CPUs: 1 #宿主机CPU数量

Total Memory: 972.3MiB #宿主机内存

Name: xxwlog #宿主机名称

ID: TJWU:XZF3:PBLD:DD3S:6FBT:VGY2:HA6P:JTHE:FFUD:7R3Y:JLUY:J62F

Docker Root Dir: /var/lib/docker #docker根目录

Debug Mode: false

Registry: https://index.docker.io/v1/ #镜像仓库

Labels:

Experimental: false

Insecure Registries: #非安全镜像仓库

127.0.0.0/8

相关推荐
天一生水water13 小时前
ubuntu使用毫秒镜像方式安装docker mysql
ubuntu·阿里云·docker
Qayrup16 小时前
docker 搭建私有仓库,推送并拉取
运维·docker·容器
郭庆汝16 小时前
docker拉取英伟达官方cuda11.8镜像
docker·cuda11.8
天下不喵17 小时前
Ubuntu24.04安装Docker过程记录
docker
黑黍18 小时前
如何在k8s中配置并使用nvidia显卡
云原生·容器·kubernetes
冷血~多好19 小时前
使用docker部署elk,实现日志追踪
elk·docker·容器
会飞的小蛮猪19 小时前
SkyWalking运维之路(Java探针接入)
java·运维·经验分享·容器·skywalking
天一生水water20 小时前
docker-compose安装
运维·docker·容器
蓝象_20 小时前
docker安装配置mysql
mysql·docker·容器