Docker(三)基础应用

  • A+
所属分类:Docker

用户在使用Docker时,需要使用Docker命令行工具docker与Docker daemon建立通信。Docker
daemon是Docker守护进程,负责接收并分发执行Docker命令。

查看操作参数

docker --help

 用法

用法:
docker [OPTIONS] COMMAND [arg...]
docker [ --help | -v | --version ]
选项:
--config=~/.docker       #客户端配置文件的位置
-D, --debug              #启动调试模式
-H, --host=[]            #守护进程套接字(s)连接到
-h, --help               #打印帮助
-l, --log-level=info     #设置日志记录级别
--tls                    #使用TLS;implied by --tlsverify
--tlscacert=~/.docker/ca.pem     #仅由此CA签署的信任证书
--tlscert=~/.docker/cert.pem     #TLS证书文件的路径
--tlskey=~/.docker/key.pem       #TLS密钥文件的路径
--tlsverify                      #使用TLS并验证远程
-v, --version                    #打印版本信息并退出
命令:
attach       #附加到正在运行的容器
build        #从Dockerfile构建一个镜像
commit       #从容器的更改中创建一个新的镜像
cp          #在容器和本地文件系统之间复制文件/文件夹
create      #创建一个新的容器
diff        #检查容器文件系统上的更改
events      #从服务器获取实时事件
exec        #在正在运行的容器中运行命令
export      #将容器的文件系统导出为tar存档
history     #显示镜像的历史
images      #镜像列表
import      #从tarball中导入内容以创建文件系统映像
info        #显示系统环境信息
inspect     #检查返回容器,镜像或任务的低级信息
kill        #杀死一个或多个正在运行的容器
load        #从tar归档或STDIN加载镜像
login       #登录到Docker镜像库。
logout      #从Docker镜像库中注销。
logs        #获取容器的日志
network     #管理Docker网络
node        #管理Docker Swarm节点
pause       #暂停一个或多个容器内的所有进程
port        #列出端口映射或容器的特定映射
ps          #容器列表
pull        #从镜像库中拉出镜像或存储库
push        #推送镜像或存储库到镜像库
rename      #重命名一个容器
restart     #重启一个容器
rm          #删除一个或多个容器
rmi         #rmi删除一个或多个镜像
run         #在新容器中运行命令
save        #将一个或多个镜像保存到tar归档文件(默认流式传输到STDOUT)
search      #在Docker Hub中搜索镜像
service           #管理Docker服务
start       #动一个或多个停止的容器
stats      #信息显示容器资源使用的实时统计信息
stop      #停止一个或多个运行容器
swarm     #管理Docker Swarm
tag       #将镜像标记到存储库中
top       #显示容器的运行过程
unpause   #暂停取消暂停一个或多个容器内的所有进程
update    #更新一个或多个容器的配置
version   #显示Docker版本信息
volume    #管理Docker卷
wait      #阻塞直到容器停止,然后打印其退出代码

说明

docker search  nginx                   #从docker官方仓库搜索nginx镜像
docker pull centos                          #下载centos镜像
docker save centos > /opt/centos.tar.gz  #镜像导出
docker load < /opt/centos.tar.gz         #镜像导入
docker images                               #查看本机存在的镜像
[root@py ~]# docker images
REPOSITORY              TAG                 IMAGE ID            CREATED                  SIZE
docker.io/hello-world   latest              f2a91732366c        Less than a second ago   1.848 kB
REPOSITORY     #镜像所属仓库
TAG         #镜像版本号(标识符)
IMAGE ID      #镜像唯一ID
CREATED       #创建时间
VIRTUAL SIZE    #镜像大小

删除镜像

[root@py ~]# docker rmi f2a91732366c
Error response from daemon: conflict: unable to delete f2a91732366c (must be forced) - image is being used by stopped container 6376fd810693

提示:如果镜像已经创建了一个容器,那么将无法进行删除

[root@py ~]# docker ps -a
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS                   PORTS               NAMES
6376fd810693        hello-world         "/hello"            5 hours ago         Exited (0) 5 hours ago                       naughty_darwin

删除容器

[root@py ~]# docker rm 6376fd810693

新建容器

新建名为yalei的容器,镜像使用centos,-t
分配一个伪终端(tty),-i标准输入打开,最后的/bin/bash可以省略,但是最后一个如果不是命令,那就是镜像名;

[root@py ~]# docker run --name yalei -t -i centos
[root@944b066aad79 /]# ps aux
USER        PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root          1  0.3  0.0  11780  1896 ?        Ss   23:55   0:00 /bin/bash
root         14  0.0  0.0  47452  1672 ?        R+   23:55   0:00 ps aux

docker ps 查看正在运行的容器,docker ps -a查看所有容器;

[root@py ~]# docker ps 
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
[root@py ~]# docker ps -a
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS                      PORTS               NAMES
944b066aad79        centos              "/bin/bash"         49 seconds ago      Exited (0) 10 seconds ago                       yalei

启动容器

[root@py ~]# docker start 944b066aad79

停止容器

[root@py ~]# docker stop 944b066aad79

进入容器

[root@py ~]# docker attach yalei

操作容器可以用容器名、或者容器id

注意:使用attach进入容器,exit退出容器的时候,容器会自动停止,生产环境不使用这种方法进入容器。

生产通过脚本进入容器

安装util-linux工具(centos 7 默认最小化已安装)

yum -y install util-linux

[root@944b066aad79 ~]# cat /root/bin/docker_in
#!/bin/sh
PID=$(docker inspect --format "{{.State.Pid}}" $1)
nsenter -t $PID -m -u -i -n -p
[root@py ~]# docker_in yalei
[root@944b066aad79 ~]#

YaLei

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: