详解修改docker时区及docker常用命令_docker

前几天遇到这样一个业务场景,数据库运行在docker 中,docker 的市区是utc 所以就跟北京时间相差8个小时。但是又不能重新运行一个容器,只能保证数据库运行状态,并把宿主机的时区复制给docker 容器。很苦恼,

首先我先把宿主机的时区改成啦CST 北京时间。然后把宿主机的时区复制给docker 容器。命令如下

docker cp /etc/localtime:【容器ID或者NAME】/etc/localtime

当然也可以进入容器进行修改时区(不过我的容器修改的时候总是报/etc/localtime 文件只读,不让修改。所以就用了上面的方法),命令如下

首先添加所有的时区

然后再修改时区

apk add tzdata
ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
echo "Asia/Shanghai" > /etc/timezone

当然,在容器内改,也很麻烦,每次启动新的容器那么就要修改,所以在dockerfile 中修改更好啦。命令如下

ENV TZ=Asia/Shanghai
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone

最后附上docker 常用命令

docker ps 查看运行的容器

docker ps -a 查看停止的容器

docker ps -q 仅列出容器ID

docker ps -s 显示容器大小。

docker images 查看镜像

docker images -q 仅列出镜像ID

docker images –tree 以树状结构列出镜像的所有提交历史。

docker pull IMAGE_ID 下载image

docker push IMAGE_ID 上传image

docker rmi IMAGE_ID 删除image

docker rmi -f 强行移除该镜像,即使其正被使用;

docker logs -f <容器名orID> 查看容器日志

docker start|stop|restart 启动、停止和重启一个或多个指定容器。

启动一个container并进入交互模式

docker start -i containerID

显示一个镜像的历史;

docker history image_name

进入容器

docker exec -it  容器id  bin/bash

启动容器并启动bash(交互方式):

$docker run -i -t <image_name/continar_id> /bin/bash

启动容器以后台方式运行(更通用的方式):

$docker run -d -it image_name

docker run 命令解释

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

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

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

将container的端口映射到宿主机的端口

docker run -i -t -p <host_port:contain_port> 

将一个container固化为一个新的image,后面的repo:tag可选

docker commit <container> [repo:tag] 

删除一个或多个container

docker rm <container...> 

删除所有的container

docker rm `docker ps -a -q`

同上, 删除所有的container

docker ps -a -q | xargs docker rm  

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索docker
, 常用命令
, 修改时区
修改容器时区
docker 命令详解、docker run命令详解、dockerfile 命令详解、docker top命令详解、docker 常用命令,以便于您获取更多的相关知识。

时间: 2024-08-31 22:10:24

详解修改docker时区及docker常用命令_docker的相关文章

详解ubuntu 16.04安装docker教程_docker

本文介绍了ubuntu 16.04安装docker教程,具体如下: 环境 操作系统:ubuntu 16.04 64位,默认安装 准备 1. 添加GPG key: $ sudo apt-key adv --keyserver hkp://p80.pool.sks-keyservers.net:80 --recv-keys 58118E89F3A912897C070ADBF76221572C52609D 2. 添加源 新建文件:/etc/apt/sources.list.d/docker.list,

详解Spring连接数据库的几种常用的方式_java

本文简单的讲解使用Spring连接数据库的几种常用方法: 测试主类为: package myspring2; import java.sql.*; import javax.sql.DataSource; import org.springframework.context.ApplicationContext; import org.springframework.context.support.ClassPathXmlApplicationContext; public class MySp

详解Unix/Linux中周期执行指令Crontab命令_unix linux

简介 crontab命令常见于Unix和类Unix的操作系统之中,用于设置周期性被执行的指令.该命令从标准输入设备读取指令,并将其存放于"crontab"文件中,以供之后读取和执行. 通常,crontab储存的指令被守护进程激活,crond常常在后台运行,每一分钟检查是否有预定的作业需要执行.这类作业一般称为cron jobs. cron 是 Unix/Linux 中提供定期执行 shell 命令的服务,包括 crond 和 crontab 两部分:      crond: cron

《走进git时代系列三》详解部分git思想及SVN/GIT命令对比解析

之前写了一篇 走进git时代一之你该怎么玩? , 主要是对git的特性做了个引导, 用户还是需要自己找资料系统的去学习. 所以补充一篇分享,稍微详细一点解释一下svn和git的差异性, 以及日常工作的命令对比 . 帮助大家在学习git的道路上更加清晰. 目录 再谈SVN/GIT思想差别带来的影响 你需要知道的SVN/GIT命令操作 首先还是要强调一下 : 在开始学习 Git 的时候,请不要尝试把各种概念和其他版本控制系统(SVN,P4等)相比拟,否则容易混淆每个操作的实际意义. Git 在保存和

详解oracle的跟踪文件和转储命令

一.Oracle跟踪文件 Oracle跟踪文件分为三种类型: 一种是后台报警日志文件,记录数据库在启动.关闭和运行期间后台进程的活动情况,如表空间创建.回滚段创建.某些alter命令.日志切换.错误消息等.在数据库出现故障时,应首先查看该文件,但文件中的信息与任何错误状态没有必然的联系.后台报警日志文件保存BACKGROUND_DUMP_DEST参数指定的目录中,文件格式为SIDALRT.LOG. 另一种类型是DBWR.LGWR.SMON等后台进程创建的后台跟踪文件.后台跟踪文件根据后台进程运行

详解Linux系统中at与atq命令的用法

  at at 在指定的时间执行命令. -V 在标准错误上输出版本号. -q queue 使用指定的队列.一个队列用一个字母标定,有效的的队列标定的 范围是从a到z和从A到Z.at 的缺省队列是 a,batch 的缺省队列是 b.队列的字母顺序越高,则队列运行时越谦让(运行级别越低). 指定的队列 "="保留给当前运行的作业所在的队列. 如果一个作业被提交到一个以大写字母标定的队列,则与提交到 batch 同样对待.如果给 atq 指定一个队列,则只显示在此指定 队列中的作业. -m

详解Linux中rm与rmdir删除命令的用法

  rm命令 用法:rm [选项]... 文件... 删除 (unlink) 文件. -f, --force 强制删除.忽略不存在的文件,不提示确认 -i 在删除前需要确认 -I 在删除超过三个文件或者递归删除前要求确认.此选项比-i 提 示内容更少,但同样可以阻止大多数错误发生 --interactive[=WHEN] 根据指定的WHEN 进行确认提示:never,once (-I), 或者always (-i).如果此参数不加WHEN 则总是提示 --one-file-system 递归删除

详解 Linux 下 SSH 远程文件传输命令 scp

相信各位VPSer在使用VPS时会经常在不同VPS间互相备份数据或者转移数据,大部分情况下VPS上都已经安装了Nginx或者类似的web server,直接将要传输的文件放到web server的目录,然后在目标机器上执行:wgethttp://www.vpser.net/testfile.zip 就行了.当VPS上没有安装web server和ftp server的时候或感觉上面的方法比较麻烦,那么用scp命令就会排上用场. 一.scp是什么? scp是secure copy的简写,用于在Li

Linux 命令详解(十一)Shell 解析 json命令jq详解

前言 在自动化部署中涉及到shell脚本需要动态读取很多配置文件,最好是json格式. 更多jq信息: http://stedolan.github.io/jq/manual/ 一.根据key获取value 语法:jq '.key' 1.单个值获取 www@TinywanAliYun:~$ cat d25341478381063d1c76e81b3a52e0592a7c997f.json | jq '.sign' "d25341478381063d1c76e81b3a52e0592a7c997f