docker-k

一:安装Docker

先检查Centos版本

uname -a

再进入Docker官网进行下一步

https://docs.docker.com/engine/install/centos/

image-20210118233618256

删除掉docker相关的内容

yum remove docker \
                  docker-client \
                  docker-client-latest \
                  docker-common \
                  docker-latest \
                  docker-latest-logrotate \
                  docker-logrotate \
                  docker-engine

配置阿里云镜像

yum install -y yum-utils
yum-config-manager \
    --add-repo \
    http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

安装最新版本的Docker

yum install docker-ce docker-ce-cli containerd.io

启动Docker

systemctl start docker

检查是否安装成功

docker version

hello-word起手式

docker run hello-world

查看镜像

docker images

查看docker的默认工作路径

/var/lib/docker

二:卸载Docker

yum remove docker-ce docker-ce-cli containerd.io
rm -rf /var/lib/docker

三:配置阿里云加速

sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["https://d5j1w9ys.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker

四:分析Docker的运行流程

image-20210118235219379

  1. 开始
  2. 在本机寻找镜像 yes/no
  3. yes-使用这个镜像
  4. no-去Docker Hub下载,是否可以找到 y/n
  5. y-下载镜像到本地
  6. 返回错误,找不到镜像

五:Docker底层分析

Docker是怎么工作的?

Docker是一个Client-Server结构的系统,Docker的守护进程运行在主机上,通过Socket从客户端访问!

DockerServer接收到Docker-Client的指令,就会执行这个命令!

Docker为什么比VM快?

  1. docker有比虚拟机更少的抽象层

  2. docker利用的宿主机的内核,VM需要Guest OS

    新建一个容器的时候,docker不需要像虚拟机一样重新加载一个操作系统的内核,避免引导,虚拟机是加载Guest OS,分钟级别的,docker是利用宿主机的操作系统,省略了这个复杂的过程,是秒级别的

六:Docker的常用命令

image-20210119235328260

https://docs.docker.com/reference/

帮助命令

# 显示docker的版本信息
docker version
# 显示docker系统信息,包括镜像和容器的数量
docker info
# 帮助命令
docker help

镜像命令

image-20210119235627924

docker images

# 查看本机上面的所有的镜像
docker images
#镜像仓库原	 镜像标签	 镜像的ID		  镜像的创建时间	  镜像的大小
REPOSITORY    TAG       IMAGE ID       CREATED         SIZE
hello-world   latest    bf756fb1ae65   12 months ago   13.3kB
# 可选项
  -a, --all             # 列出所有的镜像
  -q, --quiet           # 只显示镜像的ID

docker search

[root@izbp196kn381b6eoojekrvz /]# docker search mysql
NAME                              DESCRIPTION                                     STARS     OFFICIAL   AUTOMATED
mysql                             MySQL is a widely used, open-source relation…   10380     [OK]       
mariadb                           MariaDB is a community-developed fork of MyS…   3848      [OK]       
mysql/mysql-server                Optimized MySQL Server Docker images. Create…   758                  [OK]
percona                           Percona Server is a fork of the MySQL relati…   519       [OK]       
centos/mysql-57-centos7           MySQL 5.7 SQL database server  
# 过滤
docker search mysql --filter=STARS=5000

docker pull

# 下载mysql
docker pull mysql
[root@izbp196kn381b6eoojekrvz /]# docker pull mysql
Using default tag: latest				#不写tag,默认就是latest
latest: Pulling from library/mysql
a076a628af6f: Pull complete 			#分层下载,docker image的核心,分层下载
f6c208f3f991: Pull complete 
88a9455a9165: Pull complete 
406c9b8427c6: Pull complete 
7c88599c0b25: Pull complete 
25b5c6debdaf: Pull complete 
43a5816f1617: Pull complete 
1a8c919e89bf: Pull complete 
9f3cf4bd1a07: Pull complete 
80539cea118d: Pull complete 
201b3cad54ce: Pull complete 
944ba37e1c06: Pull complete 
Digest: sha256:feada149cb8ff54eade1336da7c1d080c4a1c7ed82b5e320efb5beebed85ae8c
Status: Downloaded newer image for mysql:latest
docker.io/library/mysql:latest			#真实地址

# 等价
docker pull mysql
docker pull mysql docker.io/library/mysql:latest

# 指定mysql版本进行下载
docker pull mysql:5.7
# 分层下载的好处(可以节省内存,共用的一个作用)

docker rmi -f 镜像名称或者ID

# 单个删除
[root@izbp196kn381b6eoojekrvz /]# docker rmi -f c8562eaf9d81
Untagged: mysql:latest
Untagged: mysql@sha256:feada149cb8ff54eade1336da7c1d080c4a1c7ed82b5e320efb5beebed85ae8c
Deleted: sha256:c8562eaf9d81c779cbfc318d6e01b8e6f86907f1d41233268a2ed83b2f34e748
Deleted: sha256:1b649b85960473808c6b812fc30c3f6a3ff1c0ffdcba5c9435daf01cf7d5373a
Deleted: sha256:19cc889447050c16c797fd209fa114ee219de23facb37c00d4137a4ed4aad922
Deleted: sha256:3c793c06a026d276cf56a6a6a75527026ed9eafa7a7d21a438f7d5ed2314148e
Deleted: sha256:1e1cd89a2bc183a7fea3dab0b543e9924278321ad0921c22cc088adbf3c2e77b
Deleted: sha256:83b2015dfd000588c7c947b2d89b3be7a8e5a3abc6ab562668c358033aa779ec
# 删除全部
[root@izbp196kn381b6eoojekrvz /]# docker rmi -f $(docker images -aq)
Untagged: mysql:5.7
Untagged: mysql@sha256:b3d1eff023f698cd433695c9506171f0d08a8f92a0c8063c1a4d9db9a55808df
Deleted: sha256:a70d36bc331a13d297f882d3d63137d24b804f29fa67158c40ad91d5050c39c5
Deleted: sha256:50c77bf7bcddd1f1d97789d80ac2404eec22c860c104e858620d2a2e321f0ef7
Deleted: sha256:14244329b83dfc8982398ee4104a548385652d2bffb957798ff86a419013efd6
Deleted: sha256:6d990477f90af28473eb601a9bca22253f6381e053c5a8edda0a4f027e124a3c
Deleted: sha256:ee0449796df204071589162fc16f8d65586312a40c68d1ba156c93c56f5e5ce8
Deleted: sha256:d08533f1e2acc40ad561a46fc6a76b54c739e6b24f077c183c5709e0a6885312
Deleted: sha256:4f9d91a4728e833d1062fb65a792f06e22e425f63824f260c8b5a64b776ddc38
Deleted: sha256:20bf4c759d1b0d0e6286d2145453af4e0e1b7ba3d4efa3b8bce46817ad4109de
Deleted: sha256:a9371bbdf16ac95cc72555c6ad42f79b9f03a82d964fe89d52bdc5f335a5f42a
Deleted: sha256:5b02130e449d94f51e8ff6e5f7d24802246198749ed9eb064631e63833cd8f1d
Deleted: sha256:ab74465b38bc1acb16c23091df32c5b7033ed55783386cb57acae8efff9f4b37
Deleted: sha256:cb42413394c4059335228c137fe884ff3ab8946a014014309676c25e3ac86864
Untagged: hello-world:latest
Untagged: hello-world@sha256:31b9c7d48790f0d8c50ab433d9c3b7e17666d6993084c002c2ff1ca09b96391d
Deleted: sha256:bf756fb1ae65adf866bd8c456593cd24beb6a0a061dedf42b26a993176745f6b
# 删除多个容器
[root@izbp196kn381b6eoojekrvz /]# docker rmi -f 镜像1 镜像2 镜像3

容器命令

有镜像才能下载容器,下载centos容器

docker pull centos
[root@izbp196kn381b6eoojekrvz /]# docker pull centos
Using default tag: latest
latest: Pulling from library/centos
7a0437f04f83: Pull complete 
Digest: sha256:5528e8b1b1719d34604c87e11dcd1c0a20bedf46e83b5632cdeac91b8c04efc1
Status: Downloaded newer image for centos:latest
docker.io/library/centos:latest

启动容器

docker run [可选参数] image
# 参数的说明
--name="Name"  容器的名字,区分容器
-d			   后台方式运行
-it			   使用交互式运行,进入容器查看
-p			   指定容器的端口 -p 8080:8080
	-p	ip:主机端口:容器端口
	-p	主机端口:容器端口 (最常使用)
	-p	容器端口
-P			   随机指定端口

# 启动并进入容器
docker run -it centos /bin/bash
[root@izbp196kn381b6eoojekrvz /]# docker run -it centos /bin/bash
[root@c0c0a4d345a3 /]# 
[root@c0c0a4d345a3 /]# ls	#查看容器内的centos,基础版本,命令大部分现在都还不完善!!
bin  etc   lib	  lost+found  mnt  proc  run   srv  tmp  var
dev  home  lib64  media       opt  root  sbin  sys  usr
[root@c0c0a4d345a3 /]# 
# 退出容器
[root@c0c0a4d345a3 /]# exit
exit
[root@izbp196kn381b6eoojekrvz /]# 

列出所有正在运行的容器

# docker ps 命令
-a 		# 显示当前正在运行的容器+带出历史运行过的容器
-n=?	# 显示最近创建的容器
-q		# 只显示容器的编号
[root@izbp196kn381b6eoojekrvz /]# docker ps -a
CONTAINER ID   IMAGE          COMMAND       CREATED         STATUS                          PORTS     NAMES
c0c0a4d345a3   centos         "/bin/bash"   4 minutes ago   Exited (0) About a minute ago             sharp_kowalevski
348e2010c08c   bf756fb1ae65   "/hello"      25 hours ago    Exited (0) 25 hours ago                   zen_poincare
[root@izbp196kn381b6eoojekrvz /]# 
[root@izbp196kn381b6eoojekrvz /]# docker ps -a -n=1
CONTAINER ID   IMAGE     COMMAND       CREATED         STATUS                     PORTS     NAMES
c0c0a4d345a3   centos    "/bin/bash"   7 minutes ago   Exited (0) 5 minutes ago             sharp_kowalevski
[root@izbp196kn381b6eoojekrvz /]# 
[root@izbp196kn381b6eoojekrvz /]# docker ps -aq
c0c0a4d345a3
348e2010c08c

退出容器

exit				# 直接停止容器并退出
Ctrl + p + q		# 容器不停止退出
[root@izbp196kn381b6eoojekrvz /]# docker ps -q
[root@izbp196kn381b6eoojekrvz /]# docker run -it centos /bin/bash
[root@4536d9734417 /]# [root@izbp196kn381b6eoojekrvz /]# docker ps
CONTAINER ID   IMAGE     COMMAND       CREATED          STATUS          PORTS     NAMES
4536d9734417   centos    "/bin/bash"   28 seconds ago   Up 27 seconds             competent_archimedes
[root@izbp196kn381b6eoojekrvz /]# 

删除容器

docker rm 容器ID						# 删除指定容器,不能删除正在运行的容器
docker rm -f $(docker ps -aq)		 # 删除全部容器
docker ps -a -q|xargs docker rm		 # 删除全部容器
[root@izbp196kn381b6eoojekrvz /]# docker rm 4536d9734417  # 运行的不能删除,删除的话只能强制删除
Error response from daemon: You cannot remove a running container 4536d973441772c4d7701e1ac6af1c57ffa35a3cdeb1bb068e7624d7c6d3943f. Stop the container before attempting removal or force remove
[root@izbp196kn381b6eoojekrvz /]# 
[root@izbp196kn381b6eoojekrvz /]# docker rm -f $(docker ps -aq)
4536d9734417
c0c0a4d345a3
348e2010c08c
[root@izbp196kn381b6eoojekrvz /]# docker ps -aq
[root@izbp196kn381b6eoojekrvz /]# 

启动和停止容器操作

docker start 		容器ID	# 启动容器
docker restart 		容器ID	# 重启容器
docker stop 		容器ID	# 停止当前正在运行的容器
docker kill 		容器ID	# 强制停止当前容器

常用其他命令

后台启动命令

# docker run -d 镜像名
[root@izbp196kn381b6eoojekrvz /]# docker run -d centos
# docker ps,发现centos停止了
# 坑:docker容器使用后台运行,必须有一个前台进程,docker没有发现应用就会自动停止
# nginx容器启动后,发现没有提供服务,就会立即停止,就没有服务了

查看日志

-tf					#显示日志
--tail number		#要展示日志条数
[root@izbp196kn381b6eoojekrvz /]# docker logs --help

Usage:  docker logs [OPTIONS] CONTAINER

Fetch the logs of a container

Options:
      --details        Show extra details provided to logs
  -f, --follow         Follow log output
      --since string   Show logs since timestamp (e.g. 2013-01-02T13:23:37Z) or relative (e.g. 42m
                       for 42 minutes)
  -n, --tail string    Number of lines to show from the end of the logs (default "all")
  -t, --timestamps     Show timestamps
      --until string   Show logs before a timestamp (e.g. 2013-01-02T13:23:37Z) or relative (e.g.
                       42m for 42 minutes)
# docker logs -f -t --tail 容器没有日志
# 自己编写一段shell脚本
"while true;do echo chengang;sleep 1;done"
[root@izbp196kn381b6eoojekrvz /]# docker run -d centos /bin/sh -c "while true;do echo chengang;sleep 1;done"
aae14c2cd94d158b9db8303977e021cdc4243ca3fff2f5df1cdc694391f1f76a
[root@izbp196kn381b6eoojekrvz /]# docker ps
CONTAINER ID   IMAGE     COMMAND                  CREATED         STATUS         PORTS     NAMES
aae14c2cd94d   centos    "/bin/sh -c 'while t…"   4 seconds ago   Up 3 seconds             festive_merkle
# 展示10条日志,并且一直更新
[root@izbp196kn381b6eoojekrvz /]# docker logs -tf --tail 10 aae14c2cd94d
2021-01-20T15:23:42.275932430Z chengang
2021-01-20T15:23:43.277608379Z chengang
2021-01-20T15:23:44.279858186Z chengang
2021-01-20T15:23:45.281470278Z chengang
~~~
# 展示全部日志
[root@izbp196kn381b6eoojekrvz /]# docker logs -tf aae14c2cd94d

查看容器中的进程信息


# 命令 docker top 容器ID
[root@izbp196kn381b6eoojekrvz /]# docker top aae14c2cd94d

查看镜像的元数据


# 命令
docker inspect 容器ID
# test
[root@izbp196kn381b6eoojekrvz /]# docker inspect aae14c2cd94d
[
    {
        "Id": "aae14c2cd94d158b9db8303977e021cdc4243ca3fff2f5df1cdc694391f1f76a",
        "Created": "2021-01-20T15:21:58.749722733Z",
        "Path": "/bin/sh",
        "Args": [
            "-c",
            "while true;do echo chengang;sleep 1;done"
        ],
        "State": {
            "Status": "running",
            "Running": true,
            "Paused": false,
            "Restarting": false,
            "OOMKilled": false,
            "Dead": false,
            "Pid": 30801,
            "ExitCode": 0,
            "Error": "",
            "StartedAt": "2021-01-20T15:21:59.107835907Z",
            "FinishedAt": "0001-01-01T00:00:00Z"
        },
        "Image": "sha256:300e315adb2f96afe5f0b2780b87f28ae95231fe3bdd1e16b9ba606307728f55",
        "ResolvConfPath": "/var/lib/docker/containers/aae14c2cd94d158b9db8303977e021cdc4243ca3fff2f5df1cdc694391f1f76a/resolv.conf",
        "HostnamePath": "/var/lib/docker/containers/aae14c2cd94d158b9db8303977e021cdc4243ca3fff2f5df1cdc694391f1f76a/hostname",
        "HostsPath": "/var/lib/docker/containers/aae14c2cd94d158b9db8303977e021cdc4243ca3fff2f5df1cdc694391f1f76a/hosts",
        "LogPath": "/var/lib/docker/containers/aae14c2cd94d158b9db8303977e021cdc4243ca3fff2f5df1cdc694391f1f76a/aae14c2cd94d158b9db8303977e021cdc4243ca3fff2f5df1cdc694391f1f76a-json.log",
        "Name": "/festive_merkle",
        "RestartCount": 0,
        "Driver": "overlay2",
        "Platform": "linux",
        "MountLabel": "",
        "ProcessLabel": "",
        "AppArmorProfile": "",
        "ExecIDs": null,
        "HostConfig": {
            "Binds": null,
            "ContainerIDFile": "",
            "LogConfig": {
                "Type": "json-file",
                "Config": {}
            },
            "NetworkMode": "default",
            "PortBindings": {},
            "RestartPolicy": {
                "Name": "no",
                "MaximumRetryCount": 0
            },
            "AutoRemove": false,
            "VolumeDriver": "",
            "VolumesFrom": null,
            "CapAdd": null,
            "CapDrop": null,
            "CgroupnsMode": "host",
            "Dns": [],
            "DnsOptions": [],
            "DnsSearch": [],
            "ExtraHosts": null,
            "GroupAdd": null,
            "IpcMode": "private",
            "Cgroup": "",
            "Links": null,
            "OomScoreAdj": 0,
            "PidMode": "",
            "Privileged": false,
            "PublishAllPorts": false,
            "ReadonlyRootfs": false,
            "SecurityOpt": null,
            "UTSMode": "",
            "UsernsMode": "",
            "ShmSize": 67108864,
            "Runtime": "runc",
            "ConsoleSize": [
                0,
                0
            ],
            "Isolation": "",
            "CpuShares": 0,
            "Memory": 0,
            "NanoCpus": 0,
            "CgroupParent": "",
            "BlkioWeight": 0,
            "BlkioWeightDevice": [],
            "BlkioDeviceReadBps": null,
            "BlkioDeviceWriteBps": null,
            "BlkioDeviceReadIOps": null,
            "BlkioDeviceWriteIOps": null,
            "CpuPeriod": 0,
            "CpuQuota": 0,
            "CpuRealtimePeriod": 0,
            "CpuRealtimeRuntime": 0,
            "CpusetCpus": "",
            "CpusetMems": "",
            "Devices": [],
            "DeviceCgroupRules": null,
            "DeviceRequests": null,
            "KernelMemory": 0,
            "KernelMemoryTCP": 0,
            "MemoryReservation": 0,
            "MemorySwap": 0,
            "MemorySwappiness": null,
            "OomKillDisable": false,
            "PidsLimit": null,
            "Ulimits": null,
            "CpuCount": 0,
            "CpuPercent": 0,
            "IOMaximumIOps": 0,
            "IOMaximumBandwidth": 0,
            "MaskedPaths": [
                "/proc/asound",
                "/proc/acpi",
                "/proc/kcore",
                "/proc/keys",
                "/proc/latency_stats",
                "/proc/timer_list",
                "/proc/timer_stats",
                "/proc/sched_debug",
                "/proc/scsi",
                "/sys/firmware"
            ],
            "ReadonlyPaths": [
                "/proc/bus",
                "/proc/fs",
                "/proc/irq",
                "/proc/sys",
                "/proc/sysrq-trigger"
            ]
        },
        "GraphDriver": {
            "Data": {
                "LowerDir": "/var/lib/docker/overlay2/7c7fd83e6ae8e2800296d58577d84a07910410db79dfed1fb194aac0934d6bf7-init/diff:/var/lib/docker/overlay2/87ed02c7bce85e254f2538a35513c4d30d386f09c8c3424e5dc5bd36829d2348/diff",
                "MergedDir": "/var/lib/docker/overlay2/7c7fd83e6ae8e2800296d58577d84a07910410db79dfed1fb194aac0934d6bf7/merged",
                "UpperDir": "/var/lib/docker/overlay2/7c7fd83e6ae8e2800296d58577d84a07910410db79dfed1fb194aac0934d6bf7/diff",
                "WorkDir": "/var/lib/docker/overlay2/7c7fd83e6ae8e2800296d58577d84a07910410db79dfed1fb194aac0934d6bf7/work"
            },
            "Name": "overlay2"
        },
        "Mounts": [],
        "Config": {
            "Hostname": "aae14c2cd94d",
            "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",
                "while true;do echo chengang;sleep 1;done"
            ],
            "Image": "centos",
            "Volumes": null,
            "WorkingDir": "",
            "Entrypoint": null,
            "OnBuild": null,
            "Labels": {
                "org.label-schema.build-date": "20201204",
                "org.label-schema.license": "GPLv2",
                "org.label-schema.name": "CentOS Base Image",
                "org.label-schema.schema-version": "1.0",
                "org.label-schema.vendor": "CentOS"
            }
        },
        "NetworkSettings": {
            "Bridge": "",
            "SandboxID": "c5282e55c143211af34e4fe9272382c7216a623856ab439dfbb60f69a08d80aa",
            "HairpinMode": false,
            "LinkLocalIPv6Address": "",
            "LinkLocalIPv6PrefixLen": 0,
            "Ports": {},
            "SandboxKey": "/var/run/docker/netns/c5282e55c143",
            "SecondaryIPAddresses": null,
            "SecondaryIPv6Addresses": null,
            "EndpointID": "1193e7aa591ec08b4452b30e701402a7fdacb287f4f9fcb50dff5e53ee74d29e",
            "Gateway": "172.17.0.1",
            "GlobalIPv6Address": "",
            "GlobalIPv6PrefixLen": 0,
            "IPAddress": "172.17.0.2",
            "IPPrefixLen": 16,
            "IPv6Gateway": "",
            "MacAddress": "02:42:ac:11:00:02",
            "Networks": {
                "bridge": {
                    "IPAMConfig": null,
                    "Links": null,
                    "Aliases": null,
                    "NetworkID": "2d2ec44cb095e76717ba8fbab604f738261581d98c8e08461298d651569f350f",
                    "EndpointID": "1193e7aa591ec08b4452b30e701402a7fdacb287f4f9fcb50dff5e53ee74d29e",
                    "Gateway": "172.17.0.1",
                    "IPAddress": "172.17.0.2",
                    "IPPrefixLen": 16,
                    "IPv6Gateway": "",
                    "GlobalIPv6Address": "",
                    "GlobalIPv6PrefixLen": 0,
                    "MacAddress": "02:42:ac:11:00:02",
                    "DriverOpts": null
                }
            }
        }
    }
]

进入当前正在运行的容器


# 通常使用的容器都是后台运行的,需要进入容器修改配置
# 命令
docker exec -it 容器ID bashShell
# 测试
[root@izbp196kn381b6eoojekrvz /]# docker ps
CONTAINER ID   IMAGE     COMMAND                  CREATED          STATUS          PORTS     NAMES
aae14c2cd94d   centos    "/bin/sh -c 'while t…"   18 minutes ago   Up 18 minutes             festive_merkle
[root@izbp196kn381b6eoojekrvz /]# docker exec -it aae14c2cd94d /bin/bash
[root@aae14c2cd94d /]# ls
bin  etc   lib	  lost+found  mnt  proc  run   srv  tmp  var
dev  home  lib64  media       opt  root  sbin  sys  usr
[root@aae14c2cd94d /]# ps -ef
UID        PID  PPID  C STIME TTY          TIME CMD
root         1     0  0 15:21 ?        00:00:00 /bin/sh -c while true;do echo chengang;sleep 1;done
root      1167     0  0 15:41 pts/0    00:00:00 /bin/bash
root      1192     1  0 15:41 ?        00:00:00 /usr/bin/coreutils --coreutils-prog-shebang=sleep /usr/bin/
root      1193  1167  0 15:41 pts/0    00:00:00 ps -ef
# 方式2
docker attach 容器ID
# 测试
[root@izbp196kn381b6eoojekrvz /]# docker attach aae14c2cd94d
chengang
chengang
chengang
chengang
chengang
chengang
chengang
# 正在执行当前的代码

# docker exec			#进入容器开启新的终端,可以在里面进行操作
# docker attach			#进入容器正在执行的终端,不会启动新的进程

从容器内拷贝文件到主机上


docker cp 容器ID:容器内路径 目标主机路径
[root@izbp196kn381b6eoojekrvz home]# ls
cg.java  fastdfs  fdfs_storage
[root@izbp196kn381b6eoojekrvz home]# docker ps
CONTAINER ID   IMAGE     COMMAND       CREATED              STATUS              PORTS     NAMES
35434e74aba9   centos    "/bin/bash"   About a minute ago   Up About a minute             trusting_ardinghelli
[root@izbp196kn381b6eoojekrvz home]# docker attach 35434e74aba9
[root@35434e74aba9 home]# touch test.java
[root@35434e74aba9 home]# ls
test.java
[root@35434e74aba9 home]# exit
exit
[root@izbp196kn381b6eoojekrvz home]# docker ps
CONTAINER ID   IMAGE     COMMAND   CREATED   STATUS    PORTS     NAMES
[root@izbp196kn381b6eoojekrvz home]# docker ps -a
CONTAINER ID   IMAGE     COMMAND       CREATED         STATUS                      PORTS     NAMES
35434e74aba9   centos    "/bin/bash"   2 minutes ago   Exited (0) 11 seconds ago             trusting_ardinghelli
b96d326d4f60   centos    "/bin/bash"   5 minutes ago   Exited (0) 2 minutes ago              jovial_kirch
[root@izbp196kn381b6eoojekrvz home]# docker cp 35434e74aba9:/home/test.java /home
[root@izbp196kn381b6eoojekrvz home]# ls
cg.java  fastdfs  fdfs_storage  test.java
[root@izbp196kn381b6eoojekrvz home]# 

七:Docker安装镜像

nginx

docker安装nginx

# 搜索镜像
# 下载镜像
docker pull nginx
[root@izbp196kn381b6eoojekrvz /]# docker images
REPOSITORY   TAG       IMAGE ID       CREATED       SIZE
nginx        latest    f6d0b4767a6c   8 days ago    133MB
centos       latest    300e315adb2f   6 weeks ago   209MB
# -d 后台运行
# --name 给容器命名
# -p 宿主机端口,容器内部端口
[root@izbp196kn381b6eoojekrvz /]# docker run -d --name nginx1 -p 3344:80 nginx
d3ef067ca063d399421f6fb14e049a7e12388491fdf8ea8ce12ec3e523a7a100
[root@izbp196kn381b6eoojekrvz /]# curl localhost:3344
<!DOCTYPE html>
<html>
<head>
<title>Welcome to nginx!</title>

# 进入容器
[root@izbp196kn381b6eoojekrvz /]# docker ps
CONTAINER ID   IMAGE     COMMAND                  CREATED         STATUS         PORTS                  NAMES
d3ef067ca063   nginx     "/docker-entrypoint.…"   5 minutes ago   Up 5 minutes   0.0.0.0:3344->80/tcp   nginx1
[root@izbp196kn381b6eoojekrvz /]# docker exec -it nginx1 /bin/bash
root@d3ef067ca063:/# whereid nginx
bash: whereid: command not found
root@d3ef067ca063:/# whereis nginx
nginx: /usr/sbin/nginx /usr/lib/nginx /etc/nginx /usr/share/nginx
root@d3ef067ca063:/# cd /etc/nginx/
root@d3ef067ca063:/etc/nginx# ls
conf.d		koi-utf  mime.types  nginx.conf   uwsgi_params
fastcgi_params	koi-win  modules     scgi_params  win-utf

image-20210121001941941


posted on 2021-03-11 15:12  util-c  阅读(180)  评论(0)    收藏  举报