Docker入门

网友投稿 321 2022-10-17

Docker入门

一、容器介绍

容器的本质是进程。容器就是未来云计算系统中的进程;容器镜像就是这个系统里的".exe"安装包。Kubernetes 就是操作系统!

二、Docker VS 传统

部署模式区别:

传统的部署模式: 安装(包管理工具或者源码包编译)->配置->运行Docker部署模式: 复制->运行

容器和虚拟机区别:

容器提供了基于进程的隔离,而虚拟机提供了资源的完全隔离。虚拟机可能需要一分钟来启动,而容器只需要一秒钟或更短。容器使用宿主操作系统的内核,而虚拟机使用独立的内核容器只是一个进程,而虚拟机不是

三、Docker安装

通过yum原直接安装最新的docker-ce

[root@jxatei ~]# wget ~]# mv docker-ce.repo /etc/yum.repos.d[root@jxatei ~]# yum install -y docker-ce[root@jxatei ~]# systemctl start docker[root@jxatei ~]# systemctl status docker[root@docker /etc/docker]# docker -vDocker version 20.10.17, build 100c701[root@jxatei ~]# docker versionClient: Docker Engine - Community Version: 20.10.17 API version: 1.41 Go version: go1.17.11 Git commit: 100c701 Built: Mon Jun 6 23:05:12 2022 OS/Arch: linux/amd64 Context: default Experimental: trueServer: Docker Engine - Community Engine: Version: 20.10.17 API version: 1.41 (minimum version 1.12) Go version: go1.17.11 Git commit: a89b842 Built: Mon Jun 6 23:03:33 2022 OS/Arch: linux/amd64 Experimental: false containerd: Version: 1.6.6 GitCommit: 10c12954828e7c7c9b6e0ea9b0c02b01407d3ae1 runc: Version: 1.1.2 GitCommit: v1.1.2-0-ga916309 docker-init: Version: 0.19.0 GitCommit: de40ad0 [root@jxatei ~]# docker pull nginx [root@jxatei ~]# docker pull daocloud.io/library/nginx #使用国内境像 [root@jxatei ~]# docker imagesREPOSITORY TAG IMAGE ID CREATED SIZEbusybox latest 7a80323521cc 2 days ago 1.24MB192.168.245.136:5000/busybox latest 7a80323521cc 2 days ago 1.24MBdaocloud.io/library/registry latest ee34aa9d8ab2 16 months ago 26.2MBdaocloud.io/library/nginx latest 298ec0e28760 17 months ago 133MBuifd/ui-for-docker latest 965940f98fa5 5 years ago 8.1MB[root@jxatei ~]# docker run -itd --name "testnginx" -p 80:80 298e89f0b204ebb163337a6607bde80b87bdd2d8ba1e952e7d3d2a9e739ee6527a15[root@jxatei ~]# docker psCONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES89f0b204ebb1 298e "/docker-entrypoint.…" About a minute ago Up About a minute 0.0.0.0:80->80/tcp, :::80->80/tcp testnginx73313e2522ce daocloud.io/library/registry "/entrypoint.sh /etc…" 6 hours ago Up 19 minutes 0.0.0.0:5000->5000/tcp, :::5000->5000/tcp pri_registry[root@jxatei ~]# curl 127.0.0.1Welcome to nginx!

Welcome to nginx!

If you see this page, the nginx web server is successfully installed andworking. Further configuration is required.

For online documentation and support please refer to

[root@docker /etc/docker]# docker infoClient: Context: default Debug Mode: false Plugins: app: Docker App (Docker Inc., v0.9.1-beta3) buildx: Docker Buildx (Docker Inc., v0.8.2-docker) scan: Docker Scan (Docker Inc., v0.17.0)Server: Containers: 3 Running: 1 Paused: 0 Stopped: 2 Images: 4 Server Version: 20.10.17 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: 10c12954828e7c7c9b6e0ea9b0c02b01407d3ae1 runc version: v1.1.2-0-ga916309 init version: de40ad0 Security Options: seccomp Profile: default Kernel Version: 3.10.0-693.el7.x86_64 Operating System: CentOS Linux 7 (Core) OSType: linux Architecture: x86_64 CPUs: 2 Total Memory: 976.3MiB Name: docker ID: 6LTM:FX3F:PYDG:TGAA:7A3G:J2DP:HNDQ:JFUF:4PES:5K3O:JAYQ:KXSN Docker Root Dir: /var/lib/docker Debug Mode: false Registry: Labels: Experimental: false Insecure Registries: 127.0.0.0/8 Registry Mirrors: Live Restore Enabled: false

三、配置加速器

[root@docker /etc/docker]# tee /etc/docker/daemon.json <<-'EOF'> {> "registry-mirrors": ["}> EOF{ "registry-mirrors": ["/etc/docker]# systemctl daemon-reload[root@docker /etc/docker]# systemctl restart docker

四、镜像管理

[root@docker /]# docker search centosNAME DESCRIPTION STARS OFFICIAL AUTOMATEDcentos The official build of CentOS. 7265 [OK] kasmweb/centos-7-desktop CentOS 7 desktop for Kasm Workspaces 22 continuumio/centos5_gcc5_base 3 dokken/centos-7 CentOS 7 image for kitchen-dokken 2 dokken/centos-stream-9 1 couchbase/centos7-systemd centos7-systemd images with additional debug… 1 [OK]spack/centos7 CentOS 7 with Spack preinstalled 1 dokken/centos-stream-8 0 dokken/centos-6 CentOS 6 image for kitchen-dokken 0 dokken/centos-8 CentOS 8 image for kitchen-dokken 0 spack/centos6 CentOS 6 with Spack preinstalled 0 datadog/centos-i386 0 bitnami/centos-extras-base 0 corpusops/centos centos corpusops baseimage 0 couchbase/centos-72-java-sdk 0 couchbase/centos-72-jenkins-core 0 bitnami/centos-base-buildpack Centos base compilation image 0 [OK]couchbase/centos-69-sdk-nodevtoolset-build 0 fnndsc/centos-python3 Source for a slim Centos-based Python3 image… 0 [OK]couchbase/centos-69-sdk-build 0 couchbase/centos-70-sdk-build 0 spack/centos-stream 0 galaxy/centos-wheel 0 galaxy/centos32-wheel 0 galaxy/centos32 [root@docker /]# docker pull centos[root@docker /]# docker image listREPOSITORY TAG IMAGE ID CREATED SIZE192.168.245.136:5000/busybox latest 7a80323521cc 2 days ago 1.24MBbusybox latest 7a80323521cc 2 days ago 1.24MBcentos latest 5d0da3dc9764 10 months ago 231MBdaocloud.io/library/registry latest ee34aa9d8ab2 16 months ago 26.2MBdaocloud.io/library/nginx latest 298ec0e28760 17 months ago 133MBuifd/ui-for-docker latest 965940f98fa5 5 years ago 8.1MB[root@docker /]# docker image inspect 5d0[ { "Id": "sha256:5d0da3dc976460b72c77d94c8a1ad043720b0416bfc16c52c45d4847e53fadb6", "RepoTags": [ "centos:latest" ], "RepoDigests": [ "centos@sha256:a27fd8080b517143cbbbab9dfb7c8571c40d67d534bbdee55bd6c473f432b177" ], "Parent": "", "Comment": "", "Created": "2021-09-15T18:20:05.184694267Z", "Container": "9bf8a9e2ddff4c0d76a587c40239679f29c863a967f23abf7a5babb6c2121bf1", "ContainerConfig": { "Hostname": "9bf8a9e2ddff", "Domainname": "", "User": "", "AttachStdin": false, "AttachStdout": false, "AttachStderr": false, "Tty": false, "OpenStdin": false, "StdinOnce": false, "Env": [ "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin" ], "Cmd": [ "/bin/sh", "-c", "#(nop) ", "CMD [\"/bin/bash\"]" ], "Image": "sha256:f5b050f177fd426be8fe998a8ecf3fb1858d7e26dff4080b29a327d1bd5ba422", "Volumes": null, "WorkingDir": "", "Entrypoint": null, "OnBuild": null, "Labels": { "org.label-schema.build-date": "20210915", "org.label-schema.license": "GPLv2", "org.label-schema.name": "CentOS Base Image", "org.label-schema.schema-version": "1.0", "org.label-schema.vendor": "CentOS" } }, "DockerVersion": "20.10.7", "Author": "", "Config": { "Hostname": "", "Domainname": "", "User": "", "AttachStdin": false, "AttachStdout": false, "AttachStderr": false, "Tty": false, "OpenStdin": false, "StdinOnce": false, "Env": [ "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin" ], "Cmd": [ "/bin/bash" ], "Image": "sha256:f5b050f177fd426be8fe998a8ecf3fb1858d7e26dff4080b29a327d1bd5ba422", "Volumes": null, "WorkingDir": "", "Entrypoint": null, "OnBuild": null, "Labels": { "org.label-schema.build-date": "20210915", "org.label-schema.license": "GPLv2", "org.label-schema.name": "CentOS Base Image", "org.label-schema.schema-version": "1.0", "org.label-schema.vendor": "CentOS" } }, "Architecture": "amd64", "Os": "linux", "Size": 231268856, "VirtualSize": 231268856, "GraphDriver": { "Data": { "MergedDir": "/var/lib/docker/overlay2/17de25d74046cb016cf74fdd695bdb1bedf3161adbe312f641674a03c4f8d2e5/merged", "UpperDir": "/var/lib/docker/overlay2/17de25d74046cb016cf74fdd695bdb1bedf3161adbe312f641674a03c4f8d2e5/diff", "WorkDir": "/var/lib/docker/overlay2/17de25d74046cb016cf74fdd695bdb1bedf3161adbe312f641674a03c4f8d2e5/work" }, "Name": "overlay2" }, "RootFS": { "Type": "layers", "Layers": [ "sha256:74ddd0ec08fa43d09f32636ba91a0a3053b02cb4627c35051aff89f853606b59" ] }, "Metadata": { "LastTagTime": "0001-01-01T00:00:00Z" } }][root@docker /]# docker images -q7a80323521cc7a80323521cc5d0da3dc9764ee34aa9d8ab2298ec0e28760965940f98fa5#删除镜像[root@qfedu.com ~]# docker rmi daocloud.io/library/mysql#如果镜像正在被使用,可用--force强制删除 [root@qfedu.com ~]# docker rmi docker.io/ubuntu:latest --force#删除所有镜像[root@qfedu.com ~]# docker rmi $(docker images -q)#给镜像打tag[root@docker /]# docker tag daocloud.io/library/nginx daocloud.io/nginx:v1 [root@docker /]# docker image listREPOSITORY TAG IMAGE ID CREATED SIZE192.168.245.136:5000/busybox latest 7a80323521cc 2 days ago 1.24MBbusybox latest 7a80323521cc 2 days ago 1.24MBcentos latest 5d0da3dc9764 10 months ago 231MBdaocloud.io/library/registry latest ee34aa9d8ab2 16 months ago 26.2MBdaocloud.io/library/nginx latest 298ec0e28760 17 months ago 133MBdaocloud.io/nginx v1 298ec0e28760 17 months ago 133MBuifd/ui-for-docker latest 965940f98fa5 5 years ago 8.1MB

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:Docker容器导出迁移
下一篇:Tomcat处理请求的线程模型详解
相关文章

 发表评论

暂时没有评论,来抢沙发吧~