【无标题】

一、docker安装
参考链接:https://docs.docker.com/engine/install/
二、常用命令
容器什么周期管理
run
—运行容器

docker run [OPTIONS] IMAGE [COMMAND] [ARG...]

options 说明

option作用
-i 以交互模式运行容器,通常与 -t 同时使用
-t 启动容器后,为容器分配一个命令行,通常与 -i 同时使用
-v 目录映射,容器目录挂载到宿主机目录,格式: <host目录>:<容器目录>
-d 守护进程,后台运行该容器
-p 指定端口映射,格式:主机(宿主)端口:容器端口
-P 随机端口映射,容器内部端口随机映射到主机的端口
-u 以什么用户身份创建容器
--name "nginx-lb" 容器名字
-m, --memory bytes 设置容器使用内存最大值
-h, --hostname string 指定容器的 host name
--dns 8.8.8.8 指定容器 dns 服务器
-e username="ritchie" 设置环境变量
--restartDocker 重启后,容器是否自动重启
--privileged 容器内是否使用真正的 root 权限

栗子六
使用镜像 tomcat:7
以后台模式启动一个容器
将容器的 8080 端口映射到主机的 111.20.72.43:8888 端口
容器名字自定义为 tomcat77
主机的目录 /usr/local/tomcat/webapp映射到容器 /usr/local/tomcat/webapps
启动容器后,在容器内执行 bash 命令
注意:这里不加 -it 的话,容器是无法再启动的,加上才能启动容器并执行 bash 命令

docker run -d -p 111.20.72.43:8888:8080 -v /usr/local/webapps:/usr/local/webapps -it --name tomcat77 tomcat:7 ba

start/stop/restart
—启动、关闭、重启容器
docker start:启动一个或多个已经被停止的容器
docker stop:停止一个或多个运行中的容器
docker restart:重启一个或多个容器
根据容器 ID 启动、关闭、重启

docker start 59aec7797ebf
docker stop 59aec7797ebf
docker restart 59aec7797ebf

根据容器名字启动、关闭、重启

docker start myTomcat3
docker stop myTomcat3
docker restart myTomcat3

启动所有容器

docker start $(docker ps -a -q)

关闭所有容器

docker stop $(docker ps -a -q)

重启所有容器

docker restart $(docker ps -a -q)

kill
—杀死容器
docker kill子命令可杀死一个或多个容器
向容器内部的主进程发送 SIGKILL 信号(默认),或使用 --signal 选项指定的信号
根据容器名字杀掉容器

docker kill tomcat7

根据容器ID杀掉容器

docker kill 65d4a94f7a39

rm
—删除容器
强制删除容器

docker rm -f tomcat7

删除所有已停止的容器

docker rm $(docker ps -a -q)

删除所有容器

docker rm -f $(docker ps -aq)       #删除所有的容器
docker ps -a -q|xargs docker rm     #删除所有的容器

create
—创建一个新的容器但不启动它
根据 tomcat 镜像,创建一个 myTomcat 容器

docker create --name=myTomcat tomcat

指定镜像 tag

docker create --name tomcat7 tomcat:7

exec
—在正在运行的容器中运行命令
执行 tomcat 容器的 startup.sh 脚本

docker exec -it tomcat7 startup.sh

进入容器的 CLI 模式(最常用)

docker exec -it tomcat7 bash

执行普通命令

docker exec -it tomcat7 pwd

指定工作目录执行命令

docker exec -it -w /usr tomcat7 pwd

以 root 用户身份进入容器(重点)

docker exec -it -uroot jenkins1 bash

pause/unpause

docker pause:暂停一个或多个容器中的所有进程
docker unpause:恢复一个或多个容器中的所有进程

暂停 tomcat 容器的服务

docker pause tomcat7

恢复 tomcat 容器的服务

docker unpause tomcat7

attach
—进入容器正在执行的终端
options 说明
option说明
–detach-keys 覆盖用于分离容器的键序列
–no-stdin 不要附加标准输入
–sig-proxy 所有接收到的信号代理到进程
栗子

docker run -d --name topdemo ubuntu /usr/bin/top -b
docker attach topdemo

容器操作
ps
—显示容器

# 不带options
docker ps

# 显示全部容器,和总文件大小
docker ps -a -s

# 显示最近创建的容器
docker ps -l
docker ps -a -l

# 显示最近创建的 2 个容器
docker ps -n 2

# 显示完整的镜像ID
docker ps --no-trunc

# 只显示镜像ID
docker ps -q

列表字段介绍
CONTAINER ID:容器 ID
IMAGE:使用的镜像
COMMAND:启动容器时后,容器运行的命令
CREATED:容器的创建时间
STATUS:容器状态
PORTS:实际运行端口,若有指定运行端口则会显示指定的端口和默认运行端口,以及连接类型( tcp / udp )
NAMES:容器名字
SIZE:容器全部文件的总大小,也会显示容器大小

容器状态介绍
created:已创建
restarting:重启中
running:运行中
removing:迁移中
paused:暂停
exited:停止
dead:死亡

top
—显示容器正在运行的进程
列出所有运行的进程

docker top gitlab

列出指定名称的正在运行的进程

docker top gitlab | grep redis

logs
—提取容器的日志
给日志加时间戳

docker logs -t tomcat7

打印最新 5 条日志

docker logs --tail 5 tomcat7

port
—列出指定的容器的端口映射
列出容器所有端口的映射

docker port gitlab

列出容器指定端口的映射

docker port gitlab 80

列出容器指定端口和协议的映射

docker port gitlab 80/tcp

export
—将容器的文件系统导出为 tar 文件

docker export -o test.tar jenkins1

镜像仓库
login
—登录dockerhub
通过命令行方式输入账号密码

docker login

需要逐步输入账号、密码

通过参数输入账号密码

docker login -u poloyy -p ***

这种方式不安全,密码会出现在 shell 的历史记录或日志文件中

通过 STDIN 输入密码
先将密码存储在 pwd.txt 文件中

cat pwd.txt | docker login -u poloyy --password-stdin

可以解决上一个栗子的不安全问题
logout
—退出 Docker 镜像仓库,默认是 Docker hub

docker logout

push
—将本地的镜像或上传到镜像仓库,要先登录到镜像仓库
上传本地镜像的前置操作
注册 Docker hub 账号:https://www.cnblogs.com/poloyy/p/13984356.html
Linux 登录 Docker hub 账号:https://www.cnblogs.com/poloyy/p/13948922.html
给镜像设置 TAG:https://www.cnblogs.com/poloyy/p/13984781.html

docker login
docker stop 容器名/容器ID
docker tag local-image:tagname new-repo:tagname
docker push new-repo:tagname
#栗子
docker tag nginx01:latest hehezu/nginx:latest
docker push hehezu/nginx:latest
docker logout

当镜像配置到一定程度时,想打个 tag 进行记录当前版本,可以打个 V1
再次更新镜像时,又可以打个 V2
当是最新版本待上传时,可以不打默认就是 latest 最新
pull
—从镜像仓库中拉取或更新镜像
从 Docker Hub下载java最新版镜像

docker pull java 

从 Docker Hub下载 REPOSITORY 为 java 的所有镜像


docker pull -a java


search
—从 Docker Hub 查找镜像
简单栗子

docker search nginx

搜索 star 数量>3 的 busybox 镜像并打印详细描述

docker search --filter=stars=3 --no-trunc busybox

搜索 star 数量>3000 的 mysql 镜像

docker search mysql --filter=STARS=3000

搜索自动构建的 busybox 镜像

docker search --filter is-automated=true busybox

搜索 star 数量>3 且是官方版本的 busybox 镜像

docker search --filter is-official=true --filter stars=3 busybox

容器rootfs命令
commit
—从容器创建一个新的镜像
不带参数的栗子


docker commit jenkins1 jenkins/poloyy


带参数的栗子

docker commit -a yy -m 测试笔记 jenkins1 jenkins/poloyy  

cp
—在容器和主机之间复制文件/文件夹
从容器复制文件到主机
已存在的目录

docker cp tomcat7:usr/local/tomcat/README.md ./

不存在的目录

docker cp tomcat7:usr/local/tomcat/README.md test/

已存在的文件

docker cp tomcat7:usr/local/tomcat/README.md test.txt

从主机复制文件到容器

docker cp test.txt tomcat7:/

从主机复制目录到容器
目标目录不存在

docker cp test tomcat7:test/

目标是一个文件

docker cp test tomcat7:polo

目标目录已存在

docker cp test tomcat7:test/

从容器复制目录到主机

docker cp tomcat7:/usr/local/tomcat/webapps.list /usr/local/ 

diff
—检查容器文件系统上文件或目录的更改情况
结果字段说明
字符 说明
A 添加了文件或目录
D 删除了文件或目录
C 修改了文件或目录
根据容器名字

docker diff gitlab

根据容器ID

docker diff 78b4a7917f0d

本地镜像管理
images
—列出所有的本地镜像

docker images [OPTIONS] [REPOSITORY[:TAG]]

options 说明
options 作用
-a, --all 列出本地所有的镜像(含中间镜像层,默认情况下,过滤掉中间映像层)
–digests 显示镜像的摘要信息
-f, --filter filter 显示满足条件(filter)的镜像
–format string 使用模板格式化输出
–no-trunc 显示完整的镜像信息
-q, --quiet 只显示镜像ID

rmi
—删除一个或多个镜像
删除镜像,且不带 tag

docker rmi hello-world

删除镜像,且带 tag

docker rmi -f tomcat:latest

根据镜像ID,删除所有镜像

docker rmi -f fd484f19954f

删除所有镜像

docker rmi -f $(docker images -aq)

删除多个镜像

docker rmi -f tomcat mysql

tag
给本地镜像打一个标记(tag),可将其归入某一仓库
有点像 Git 里面给不同时段写的代码打不同的 tag 一样

docker tag jenkins/poloyy:latest poloyy/jenkins:new2

import
—从 tar 归档文件中创建镜像

docker import test.tar poloyy/tomcat

其他
info
—显示 Docker 系统信息,包括镜像和容器数

docker info [OPTIONS]

Client:docker 客户端信息
Server:docker 服务端信息
Containers:容器数量
Images:镜像数量
Server Version:docker 版本
Docker Root Dir:docker 根目录
Registry Mirrors:当前使用的镜像源

–rm
Automatically remove the container when it exits
该参数官方推荐,一般用来测试,这个容器用完就会自动删除,用完即删

docker run -it --rm tomcat:9.0
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值