Centos docker 使用学习

1、安装docker

CentOS Docker 安装 | 菜鸟教程

curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun

如果curl太慢,可以手动去那个网页下载sh文件

2、docker启动(只是启动docker服务,非镜像)

service docker restart

3、配置国内源(需要用上面命令重启docker)

docker 设置国内镜像源_whatday的博客-CSDN博客_docker 国内镜像源

mkdir /etc/docker
vim /etc/docker/daemon.json

写入

{
    "registry-mirrors": ["http://hub-mirror.c.163.com"]
}

配置阿里云的源 cr.console.aliyun.com 速度不错,但是需要登陆阿里云。

查看是否配置成功(末尾)

# docker info
Client:
 Context:    default
 Debug Mode: false
 Plugins:
  app: Docker App (Docker Inc., v0.9.1-beta3)
  buildx: Docker Buildx (Docker Inc., v0.8.1-docker)
  scan: Docker Scan (Docker Inc., v0.17.0)

Server:
 Containers: 0
  Running: 0
  Paused: 0
  Stopped: 0
 Images: 1
 Server Version: 20.10.14
 Storage Driver: overlay2
  Backing Filesystem: xfs
  Supports d_type: true
  Native Overlay Diff: true
  userxattr: false
 Logging Driver: json-file
 Cgroup Driver: cgroupfs
 Cgroup Version: 1
 Plugins:
  Volume: local
  Network: bridge host ipvlan macvlan null overlay
  Log: awslogs fluentd gcplogs gelf journald json-file local logentries splunk syslog
 Swarm: inactive
 Runtimes: io.containerd.runc.v2 io.containerd.runtime.v1.linux runc
 Default Runtime: runc
 Init Binary: docker-init
 containerd version: 3df54a852345ae127d1fa3092b95168e4a88e2f8
 runc version: v1.0.3-0-gf46b6ba
 init version: de40ad0
 Security Options:
  seccomp
   Profile: default
 Kernel Version: 3.10.0-1160.45.1.el7.x86_64
 Operating System: CentOS Linux 7 (Core)
 OSType: linux
 Architecture: x86_64
 CPUs: 1
 Total Memory: 3.701GiB
 Name: localhost.localdomain
 ID: QIDE:BSNQ:Y4DO:N27T:W62H:42FG:H5FU:OUXY:SU5U:CR4N:WG4I:6MSO
 Docker Root Dir: /var/lib/docker
 Debug Mode: false
 Registry: https://index.docker.io/v1/
 Labels:
 Experimental: false
 Insecure Registries:
  127.0.0.0/8
 Registry Mirrors:
  http://hub-mirror.c.163.com/
 Live Restore Enabled: false

4、拉取镜像

比如我拿到一个别人给的dockerhub地址

Docker Hub

直接pull就行

# docker pull 镜像名
docker pull dbgate/dbgate

5、关于拉取镜像比较旧

有些国内的源比较旧(好几个月前)

# docker images
REPOSITORY      TAG       IMAGE ID       CREATED        SIZE
dbgate/dbgate   latest    420ccff0f9b8   7 months ago   109MB

而实际是几个小时前的更新

 我们可以手动指定下载的源镜像sha256 (假设我们想下载latest最新镜像),点击DIGEST

 拿到具体sha256值,拼接

# docker pull 镜像名:标签@256值
docker pull dbgate/dbgate:latest@sha256:e1719deb5520bc870b657e819699a27ab9f06a1ba4431ec7cdb00a807a40a835

就能拉取指定镜像

6、启动拉取的镜像

一般启动页面有介绍

 运行命令加上 -d 就能后台启动(守护进程)

上图中 -p 是端口映射,docker实例与宿主机的映射,--name是指定实例名称,-it 是产生用户交互式终端(如bash),最后那个是镜像名称,有的需要带上版本号

7、查看实例标识和杀死docker实例(或者停止docker实例)

实例定义:一个docker镜像可以启动很多的实例,就像是我们windows虚拟机使用同一个win10镜像可以制作多台windows机器一样

先ps查看运行的docker的实例标识,再kill 实例标识。实例标识的的定义为下面的 CONTAINER ID 或者 NAMES(NAMES在docker ps的末尾),其中 CONTAINER ID 可以不用填完整,填前几位就行,只要是唯一能确定是哪个实例的就行。stop和kill都可以。

# docker ps  (加-a选项可以查看所有的实例,包括已经停止的,我们停止了容器不代表也删除了)
CONTAINER ID   IMAGE           COMMAND                  CREATED          STATUS          PORTS                                       NAMES
182fe3a8e575   dbgate/dbgate   "docker-entrypoint.s…"   19 minutes ago   Up 19 minutes   0.0.0.0:9443->3000/tcp, :::9443->3000/tcp   dbgate-instances
# docker kill 182f
# 但是docker kill并不是删除实例,,只是将实例停止,使用 docker ps -a 还能看到停止的实例,需要使用docker rm 才能彻底删除
# docker stop 实例标识
# 我们可以使用下面命令把停止的实例再次启动
# docker start 实例标识

8、删除镜像

先查看要删除的镜像id,再删除,另外 -f 强制删除

Docker中怎么删除image - 服务器 - 亿速云

# docker images
REPOSITORY      TAG       IMAGE ID       CREATED        SIZE
dbgate/dbgate   latest    420ccff0f9b8   7 months ago   109MB
# docker rmi 420ccff0f9b8 -f
# 直接不加 -f 删除可能会报错如下:【如果你基于这个镜像的实例存在(无论是运行状态还是关闭状态)】
# Error response from daemon: conflict: unable to delete 82daf54b9899 (must be forced) - image is being used by stopped container 16cd70812156
# 你需要先把实例关机删除 (关机参考第七步,删除参考第11步)

9、以bash方式进入容器

docker exec -it 实例标识 /bin/bash

10、拷贝文件到容器内

docker cp ./test.out 实例标识:/usr/

11、删除镜像的实例

一个docker容器可以有无数的实例,删除实例用rm,记得先把容器停了再删,或者加-f强制删除

# docker ps -a
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS                     PORTS               NAMES
046e9fef1380        ubuntu:18.04        "/bin/bash"         13 seconds ago      Up 12 seconds                                  romantic_rubin
f9a55076efbe        ubuntu:18.04        "/bin/bash"         5 minutes ago       Exited (0) 5 minutes ago                       test1
9b7731dcb711        ubuntu:18.04        "/bin/bash"         7 minutes ago       Exited (0) 7 minutes ago                       test
# docker rm f9a55076efbe

12、保存实例为镜像

# docker commit -a "上传用户署名" -m "注释" 实例标识  镜像名称:版本号
docker commit -a "xiaoming" -m "for test" 379fcc815bee  abcde:0.1

13、查看镜像提交记录

# docker history 镜像id
docker history 379fcc815bee

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值