Docker操作指南

Docker操作指南

概念解释:

镜像(Image):Docker将应用程序及其所需的依赖、函数库、环境、配置等文件打包在一起供运行启动,称为镜像。

容器(Container):镜像中的应用程序运行后形成的进程就是容器,容器之间是隔离,容器对外也是不可见的

镜像托管平台(DockerHub):DockerHub是一个Docker镜像的托管平台。这样的平台称为Docker Registry。国内的网易云镜像服务、阿里云镜像库等都是类似的作用

ps:docker的环境安装可自行看官网,这里不做赘述了

  • 第一阶段—镜像初始化:

docker pull:拉取镜像
docker push:推送镜像
docker images:查看镜像列表
docker rmi:删除镜像
docker save:打包镜像成tar包
docker load:加载tar镜像包

  • 第二阶段—启停阶段

docker run:创建并运行一个容器,处于运行状态
docker rm:删除一个容器
docker start:让一个停止的容器再次运行
docker stop:停止一个运行的容器
docker pause:让一个运行的容器暂停
docker unpause:让一个容器从暂停状态恢复运行

  • 第三阶段—过程管理

docker exec:进入容器内
docker logs:查看容器日志
docker ps:查看docker进程
docker --help:查看命令帮助

以Nginx安装作为案例讲解

1.镜像拉取

(1)在DockerHub上拉取Nginx镜像
(地址:https://hub.docker.com/_/nginx)
搜索Nginx,使用docker pull nginx不带tag,则默认为拉取最新的版本latest
在这里插入图片描述
(2)进入服务器拉取镜像
命令:docker pull nginx

[root@dev02 ~]docker pull nginx
Using default tag: latest
latest: Pulling from library/nginx
a2abf6c4d29d: Pull complete 
a9edb18cadd1: Pull complete 
589b7251471a: Pull complete 
186b1aaa4aa6: Pull complete 
b4df32aa5a72: Pull complete 
a0bcbecc962e: Pull complete 
Digest: sha256:0d17b565c37bcbd895e9d92315a05c1c3c9a29f762b011a10c54a66cd53c9b31
Status: Downloaded newer image for nginx:latest
docker.io/library/nginx:latest

(3)查看镜像
命令:docker images

[root@dev02 ~] docker images
REPOSITORY   TAG       IMAGE ID       CREATED         SIZE
nginx        latest    605c77e624dd   14 months ago   141MB

如果要删除无用的镜像,可执行下命令(强删除)

[root@dev02 ~]docker rmi -f 605c77e624dd

2.容器部署与查看

a.容器启动
命令:docker run --name [容器名称] -p [宿主机端口]:[容器端口] -d nginx

[root@dev02 ~] docker run --name mynginx -p 80:80 -d nginx
8103e1281a9a814de051d045b82153ac41a3a3b19b5220e324f0b2328341f92d

命令解读:
docker run :创建并运行一个容器
–name : 给容器确定个名字一个名字,案例命名为mynginx
-p :将宿主机端口与容器端口映射,冒号左侧是宿主机端口,右侧是容器端口
-d:后台运行容器
nginx:镜像名称,案例用nginx
b.容器查看:

[root@dev02 ~]19 docker ps -a
CONTAINER ID   IMAGE     COMMAND                  CREATED         STATUS         PORTS                NAMES
8103e1281a9a   nginx     "/docker-entrypoint.…"   4 minutes ago   Up 4 minutes   0.0.0.0:80->80/tcp   mynginx

此时可访问主机ip,显示为nginx index主页则启动成功
在这里插入图片描述

3.查看容器日志

命令:docker logs [容器id]

[root@dev02 ~]21 docker ps
CONTAINER ID   IMAGE     COMMAND                  CREATED          STATUS          PORTS                NAMES
8103e1281a9a   nginx     "/docker-entrypoint.…"   10 minutes ago   Up 10 minutes   0.0.0.0:80->80/tcp   mynginx
[root@dev02 ~]22 docker logs 8103e1281a9a
/docker-entrypoint.sh: /docker-entrypoint.d/ is not empty, will attempt to perform configuration
/docker-entrypoint.sh: Looking for shell scripts in /docker-entrypoint.d/
/docker-entrypoint.sh: Launching /docker-entrypoint.d/10-listen-on-ipv6-by-default.sh
10-listen-on-ipv6-by-default.sh: info: Getting the checksum of /etc/nginx/conf.d/default.conf
10-listen-on-ipv6-by-default.sh: info: Enabled listen on IPv6 in /etc/nginx/conf.d/default.conf
/docker-entrypoint.sh: Launching /docker-entrypoint.d/20-envsubst-on-templates.sh
/docker-entrypoint.sh: Launching /docker-entrypoint.d/30-tune-worker-processes.sh
/docker-entrypoint.sh: Configuration complete; ready for start up
2023/03/06 09:21:43 [notice] 1#1: using the "epoll" event method
2023/03/06 09:21:43 [notice] 1#1: nginx/1.21.5
2023/03/06 09:21:43 [notice] 1#1: built by gcc 10.2.1 20210110 (Debian 10.2.1-6) 
2023/03/06 09:21:43 [notice] 1#1: OS: Linux 3.10.0-1062.el7.x86_64
2023/03/06 09:21:43 [notice] 1#1: getrlimit(RLIMIT_NOFILE): 1048576:1048576
2023/03/06 09:21:43 [notice] 1#1: start worker processes

ps:如果要跟踪日志实时输出,可在命名上加参数-f
如 docker logs 8103e1281a9a -f

4.进入容器内部

命令:docker exec -it [容器名] [要执行的命令]

[root@dev02 ~] docker exec -it mynginx bash
root@8103e1281a9a:/# 

命令解读:
docker exec :进入容器内部,执行一个命令
-it : 给当前进入的容器创建一个标准输入、输出终端,允许我们与容器交互
mynginx :要进入的容器的名称
bash:进入容器后执行的命令,bash是一个linux终端交互命令
ps:进入容器后,可按需操作

到此流程基本完结

备注:docker命令参数无需一一记住,用好–help
如:
demo1:查看docker save 的指令说明

[root@dev02 ~]1 docker save --help

Usage:  docker save [OPTIONS] IMAGE [IMAGE...]

Save one or more images to a tar archive (streamed to STDOUT by default)

Options:
 -o, --output string   Write to a file, instead of STDOU

demo2:查看docker所有的指令说明

[root@zhdc-ibms-dev02 ~]2 docker --help

Usage:  docker [OPTIONS] COMMAND

A self-sufficient runtime for containers

Options:
      --config string      Location of client config files (default "/root/.docker")
  -c, --context string     Name of the context to use to connect to the daemon (overrides DOCKER_HOST env var and default context set with
                           "docker context use")
  -D, --debug              Enable debug mode
  -H, --host list          Daemon socket(s) to connect to
  -l, --log-level string   Set the logging level ("debug"|"info"|"warn"|"error"|"fatal") (default "info")
      --tls                Use TLS; implied by --tlsverify
      --tlscacert string   Trust certs signed only by this CA (default "/root/.docker/ca.pem")
      --tlscert string     Path to TLS certificate file (default "/root/.docker/cert.pem")
      --tlskey string      Path to TLS key file (default "/root/.docker/key.pem")
      --tlsverify          Use TLS and verify the remote
  -v, --version            Print version information and quit

Management Commands:
  app*        Docker App (Docker Inc., v0.9.1-beta3)
  builder     Manage builds
  buildx*     Docker Buildx (Docker Inc., v0.8.2-docker)
  config      Manage Docker configs
  container   Manage containers
  ......省略

------编辑者:梦想的边缘

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值