Docker快速简单入门教程

目录

一、说明

如图所示,docker的核心就是docker镜像,我们可以通过docker命令来实现各个单元的互相转化。
在这里插入图片描述
下面我们可以通过镜像文件 “nginx” 来感受一下 Docker。

二、docker服务端信息

服务器ip主机名系统版本
192.168.2.201myhostCentos7.2

docker安装教程请参考前面的文章:Centos7.2上安装Docker

三、查看docker服务启动状态

[root@myhost ~]# /bin/systemctl status  docker.service
● docker.service - Docker Application Container Engine
   Loaded: loaded (/usr/lib/systemd/system/docker.service; enabled; vendor preset: disabled)
   Active: active (running) since 五 2021-04-09 15:26:18 CST; 2 weeks 0 days ago
     Docs: http://docs.docker.com
 Main PID: 1599 (dockerd-current)
   CGroup: /system.slice/docker.service
           ├─1599 /usr/bin/dockerd-current --add-runtime docker-runc=/usr/libexec/docker/docker-runc-current --default-runt...
           └─2156 /usr/bin/docker-containerd-current -l unix:///var/run/docker/libcontainerd/docker-containerd.sock --metri...

4月 09 15:26:18 myhost dockerd-current[1599]: time="2021-04-09T15:26:18.322478600+08:00" level=warning msg="Your k...ded."
4月 09 15:26:18 myhost dockerd-current[1599]: time="2021-04-09T15:26:18.322478600+08:00" level=warning msg="Your k...ded."
4月 09 15:26:18 myhost dockerd-current[1599]: time="2021-04-09T15:26:18.322639500+08:00" level=info msg="Loading c...art."
4月 09 15:26:18 myhost dockerd-current[1599]: time="2021-04-09T15:26:18.334132100+08:00" level=info msg="Firewalld...true"
4月 09 15:26:18 myhost dockerd-current[1599]: time="2021-04-09T15:26:18.725065100+08:00" level=info msg="Default b...ress"
4月 09 15:26:18 myhost dockerd-current[1599]: time="2021-04-09T15:26:18.876028100+08:00" level=info msg="Loading c...one."
4月 09 15:26:18 myhost dockerd-current[1599]: time="2021-04-09T15:26:18.879551700+08:00" level=warning msg="Not us... fix"
4月 09 15:26:18 myhost dockerd-current[1599]: time="2021-04-09T15:26:18.934519400+08:00" level=info msg="Daemon ha...tion"
4月 09 15:26:18 myhost dockerd-current[1599]: time="2021-04-09T15:26:18.934583100+08:00" level=info msg="Docker da....13.1
4月 09 15:26:18 myhost systemd[1]: Started Docker Application Container Engine.
4月 09 15:26:18 myhost dockerd-current[1599]: time="2021-04-09T15:26:18.942131600+08:00" level=info msg="API liste...sock"
Hint: Some lines were ellipsized, use -l to show in full.

四、从镜像仓库拉取镜像文件到本地

命令:docker pull image_name
说明:如果镜像名后面不加上版本信息,则默认拉取此镜像的最新版本。
例如: docker pull nginx == docker pull nginx:latest

4.1 拉取nginx镜像文件最新版本
[root@myhost ~]# docker pull nginx:latest
Trying to pull repository docker.io/library/nginx ... 
latest: Pulling from docker.io/library/nginx
f7ec5a41d630: Pull complete 
aa1efa14b3bf: Pull complete 
b78b95af9b17: Pull complete 
c7d6bca2b8dc: Pull complete 
cf16cd8e71e0: Pull complete 
0241c68333ef: Pull complete 
Digest: sha256:75a55d33ecc73c2a242450a9f1cc858499d468f077ea942867e662c247b5e412
Status: Downloaded newer image for docker.io/nginx:latest

[root@myhost ~]# docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
docker.io/nginx     latest              62d49f9bab67        9 days ago          133 MB
4.2 拉取nginx镜像文件1.16.1版本
[root@myhost ~]# docker pull nginx:1.16.1
Trying to pull repository docker.io/library/nginx ... 
1.16.1: Pulling from docker.io/library/nginx
54fec2fa59d0: Pull complete 
5546cfc92772: Pull complete 
50f62e3cdaf7: Pull complete 
Digest: sha256:d20aa6d1cae56fd17cd458f4807e0de462caf2336f0b70b5eeb69fcaaf30dd9c
Status: Downloaded newer image for docker.io/nginx:1.16.1

[root@myhost ~]# docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
docker.io/nginx     latest              62d49f9bab67        9 days ago          133 MB
docker.io/nginx     1.16.1            dfcfd8e9a5d3        12 months ago       127 MB
4.3 根据镜像文件的id或name删除镜像

命令: docker rmi image_name/image_id

说明:一个镜像如果关联某个或几个容器,是不能直接被删除的,必须先停止并删除所有相关容器之后才能够删除此镜像。如果不先停止并删除所有相关容器,也可以使用 docker rmi image_name/image_id -f 命令来强制删除此镜像。

[root@myhost ~]# docker rmi 62d49f9bab67  
Untagged: docker.io/nginx:latest
Untagged: docker.io/nginx@sha256:75a55d33ecc73c2a242450a9f1cc858499d468f077ea942867e662c247b5e412
Deleted: sha256:62d49f9bab67f7c70ac3395855bf01389eb3175b374e621f6f191bf31b54cd5b
Deleted: sha256:3444fb58dc9e8338f6da71c1040e8ff532f25fab497312f95dcee0f756788a84
Deleted: sha256:f85cfdc7ca97d8856cd4fa916053084e2e31c7e53ed169577cef5cb1b8169ccb
Deleted: sha256:704bf100d7f16255a2bc92e925f7007eef0bd3947af4b860a38aaffc3f992eae
Deleted: sha256:d5955c2e658d1432abb023d7d6d1128b0aa12481b976de7cbde4c7a31310f29b
Deleted: sha256:11126fda59f7f4bf9bf08b9d24c9ea45a1194f3d61ae2a96af744c97eae71cbf
Deleted: sha256:7e718b9c0c8c2e6420fe9c4d1d551088e314fe923dce4b2caf75891d82fb227d
[root@myhost ~]# docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
docker.io/nginx     1.16.1              dfcfd8e9a5d3        12 months ago       127 MB
4.4 查看系统存在的镜像文件

命令: docker images 查看现在存在的镜像文件。
参数: --no-trunc 不截断输出,显示完整的镜像信息(比如:会显示镜像文件的完整ID)。

[root@myhost ~]# docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
docker.io/nginx     1.16.1              dfcfd8e9a5d3        12 months ago       127 MB

[root@myhost ~]# docker images  --no-trunc

五、通过镜像文件来创建一个新的容器并运行一个命令

命令:docker run image_name/image_id 通过镜像文件来创建一个新的容器并运行一个命令。

’常用参数:

  1. -d 后台运行容器,并返回容器ID;
  2. -p 指定端口映射,格式为:主机(宿主)端口:容器端口
  3. -i 以交互模式运行容器,通常与 -t 同时使用;
  4. -e username=“root”: 设置运行容器时的环境变量;
  5. – name=“mynginx”: 为容器指定一个名称;
5.1 使用nginx:latest 镜像以后台模式启动一个容器,并将容器端口映射到宿主机80端口
[root@myhost ~]# docker run -d -p 80:80 nginx:1.16.1
5f30e24fd339fb1a7040e08708458864308857f0aeba2e5f12175cd299bde122
[root@myhost ~]# docker ps 
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                NAMES
5f30e24fd339        nginx:1.16.1      "nginx -g 'daemon ..."   4 seconds ago       Up 3 seconds        0.0.0.0:82->80/tcp   musing_montalcini

### 宿主机上防火墙开放80端口
[root@myhost ~]#  firewall-cmd --zone=public --permanent --add-port=80/tcp && firewall-cmd --reload &&  firewall-cmd --list-ports   
success
success
80/tcp 1124/tcp 81/tcp

浏览器进行访问 http://192.168.2.201:80/
在这里插入图片描述

5.2 使用nginx:1.16.1镜像以后台模式启动一个容器,并将容器端口映射到宿主机81端口且将容器名字命名为“mynginx”
[root@myhost ~]# docker run -d -p 81:80  --name="mynginx" nginx:1.16.1
2a198d28845924106ddfded32c53306f16e036137100ae37936fcd1c49833d0a
[root@myhost ~]# docker ps 
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                NAMES
5f30e24fd339         nginx:1.16.1       "nginx -g 'daemon ..."   4 seconds ago       Up 3 seconds        0.0.0.0:80->80/tcp   musing_montalcini
2a198d288459       nginx:1.16.1        "nginx -g 'daemon ..."   4 minutes ago       Up 4 minutes        0.0.0.0:81->80/tcp   serene_ritchie

### 宿主机上防火墙开放81端口
[root@myhost ~]#  firewall-cmd --zone=public --permanent --add-port=81/tcp && firewall-cmd --reload &&  firewall-cmd --list-ports   
success
success
80/tcp 1124/tcp 81/tcp

浏览器进行访问 http://192.168.2.201:81/

在这里插入图片描述

5.3 根据容器的id或name停止/重启容器

命令:docker start container_name/container_id 启动已经被停止的容器
命令: docker stop container_name/container_id 停止已经被启动的容器
命令:docker restart container_name/container_id 重新启动运行过并已经停止的容器

[root@myhost ~]# docker ps 
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                NAMES
5f30e24fd339        nginx:1.16.1        "nginx -g 'daemon ..."   4 seconds ago       Up 3 seconds        0.0.0.0:82->80/tcp   musing_montalcini
2a198d288459        nginx:1.16.1        "nginx -g 'daemon ..."   4 minutes ago       Up 4 minutes        0.0.0.0:81->80/tcp   mynginx

[root@myhost ~]# docker restart 5f30e24fd339
5f30e24fd339

[root@myhost ~]# docker ps
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                NAMES
5f30e24fd339        nginx:1.16.1        "nginx -g 'daemon ..."   2 minutes ago       Up 1 second         0.0.0.0:80->80/tcp   musing_montalcini
2a198d288459        nginx:1.16.1        "nginx -g 'daemon ..."   6 minutes ago       Up 6 minutes        0.0.0.0:81->80/tcp  mynginx

[root@myhost ~]# docker stop 5f30e24fd339
5f30e24fd339

[root@myhost ~]# docker ps
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                NAMES
2a198d288459        nginx:1.16.1        "nginx -g 'daemon ..."   6 minutes ago       Up 6 minutes        0.0.0.0:81->80/tcp   mynginx
5.4 根据容器的id或name进入容器并修改容器里面的内容

命令: docker exec -it container_name/container_id /bin/bash

[root@myhost ~]# docker ps
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                NAMES
2a198d288459        nginx:1.16.1        "nginx -g 'daemon ..."   6 minutes ago       Up 6 minutes        0.0.0.0:81->80/tcp   mynginx

[root@myhost ~]# docker exec -it 2a198d288459 /bin/bash
root@2a198d288459:/# pwd
/
root@2a198d288459:/# ls
bin  boot  dev  etc  home  lib  lib64  media  mnt  opt  proc  root  run  sbin  srv  sys  tmp  usr  var
root@2a198d288459:/# cd /usr/share/nginx/html/
root@2a198d288459:/usr/share/nginx/html# ls -l
total 8
-rw-r--r-- 1 root root 494 Aug 13  2019 50x.html
-rw-r--r-- 1 root root 612 Aug 13  2019 index.html
root@2a198d288459:/usr/share/nginx/html# echo "hello, nginx! i am 81 port" > index.html 
root@2a198d288459:/usr/share/nginx/html# cat index.html 
hello, nginx! i am 81 port
root@2a198d288459:/usr/share/nginx/html# exit
exit

浏览器进行访问 http://192.168.2.201:81/
在这里插入图片描述

六、通过commit将容器变为新的镜像

命令: docker commit container_name/container_id new_image_name

[root@myhost ~]# docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
docker.io/nginx     1.16.1              dfcfd8e9a5d3        12 months ago       127 MB

[root@myhost ~]# docker ps 
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                NAMES
2a198d288459        nginx:1.16.1        "nginx -g 'daemon ..."   15 minutes ago      Up 15 minutes       0.0.0.0:81->80/tcp   mynginx

[root@myhost ~]# docker commit  2a198d288459 nginx_new_image
sha256:ada4d5ebb5b4450a07c7d93d510c9709182093b0c65f90450bf042ef23b2a59e

[root@myhost ~]# docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
nginx_new_image     latest              ada4d5ebb5b4        27 seconds ago      127 MB
docker.io/nginx     1.16.1              dfcfd8e9a5d3        12 months ago       127 MB

[root@myhost ~]# docker run -d -p82:80 nginx_new_image
d48147beaae65a529371529d055ff72b019521f501145a045a0ee295eec5cc28

[root@myhost ~]# docker ps 
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                NAMES
d48147beaae6        nginx_new_image     "nginx -g 'daemon ..."   5 seconds ago       Up 4 seconds        0.0.0.0:82->80/tcp   musing_pare
2a198d288459        nginx:1.16.1        "nginx -g 'daemon ..."   18 minutes ago      Up 18 minutes       0.0.0.0:81->80/tcp   mynginx

[root@myhost ~]# netstat -lntup |grep docker
tcp6       0      0 :::81                   :::*                    LISTEN      29921/docker-proxy- 
tcp6       0      0 :::82                   :::*                    LISTEN      34220/docker-proxy- 

### 宿主机上防火墙开放82端口
[root@myhost ~]# firewall-cmd --zone=public --permanent --add-port=82/tcp && firewall-cmd --reload &&  firewall-cmd --list-ports   
success
success
82/tcp 80/tcp 1124/tcp 81/tcp

浏览器进行访问 http://192.168.2.201:82/
在这里插入图片描述

修改新镜像创建的新容器的内容

[root@myhost ~]# docker ps
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                NAMES
d48147beaae6        nginx_new_image     "nginx -g 'daemon ..."   4 minutes ago       Up 4 minutes        0.0.0.0:82->80/tcp   musing_pare
2a198d288459        nginx:1.16.1        "nginx -g 'daemon ..."   22 minutes ago      Up 22 minutes       0.0.0.0:81->80/tcp   mynginx
[root@myhost ~]# docker exec -it d48147beaae6 /bin/bash
root@d48147beaae6:/# cd /usr/share/nginx/html/
root@d48147beaae6:/usr/share/nginx/html# cat index.html 
hello, nginx! i am 81 port
root@d48147beaae6:/usr/share/nginx/html# echo "hello, nginx! i am changed by the command of [docker commit]" > index.html     
root@d48147beaae6:/usr/share/nginx/html# cat index.html 
hello, nginx! i am changed by the command of [docker commit]
root@d48147beaae6:/usr/share/nginx/html# exit
exit

浏览器进行访问 http://192.168.2.201:82/
在这里插入图片描述

七、通过Dockerfile创建镜像

命令: docker build -t new_image_name
参数:–tag, -t: 镜像的名字及标签,通常 name:tag 或者 name 格式;可以在一次构建中为一个镜像设置多个标签。

[root@myhost ~]# pwd
/root
[root@myhost ~]# vi Dockerfile 
[root@myhost ~]# cat Dockerfile 
from nginx:1.16.1
add ./index.html /usr/share/nginx/html/
[root@myhost ~]# vi index.html
wo shi wai bu de wen jian.
[root@myhost ~]# cat index.html 
wo shi wai bu de wen jian.

[root@myhost ~]# ll
总用量 12
-rw-------. 1 root root 1001 3月   5 14:00 anaconda-ks.cfg
-rw-r--r--  1 root root   58 4月  23 16:30 Dockerfile
-rw-r--r-- 1 root root    27 4月  23 16:31 index.html

[root@myhost ~]# docker build -t nginx_image_from_dockerfile 
Sending build context to Docker daemon 27.65 kB
Step 1/2 : FROM nginx:1.16.1
 ---> dfcfd8e9a5d3
Step 2/2 : ADD ./ /usr/share/nginx/html/
 ---> 8092fdd867b5
Removing intermediate container 335ade18f8e4
Successfully built 8092fdd867b5

[root@myhost ~]# docker images
REPOSITORY                    TAG                 IMAGE ID            CREATED              SIZE
nginx_image_from_dockerfile   latest              8092fdd867b5        About a minute ago   127 MB
nginx_new_image               latest              ada4d5ebb5b4        18 minutes ago       127 MB
docker.io/nginx               1.16.1              dfcfd8e9a5d3        12 months ago        127 MB

[root@myhost ~]# docker run -d -p83:80 nginx_image_from_dockerfile
fb1f4ef0bdd11c1092d614481b95007dfd31ec9e49f1906cf30d64e680a88e76
[root@myhost ~]# docker ps
CONTAINER ID        IMAGE                         COMMAND                  CREATED             STATUS              PORTS                NAMES
fb1f4ef0bdd1        nginx_image_from_dockerfile   "nginx -g 'daemon ..."   3 seconds ago       Up 3 seconds        0.0.0.0:83->80/tcp   objective_austin
d48147beaae6        nginx_new_image     "nginx -g 'daemon ..."   5 seconds ago       Up 4 seconds        0.0.0.0:82->80/tcp   musing_pare
2a198d288459        nginx:1.16.1                  "nginx -g 'daemon ..."   35 minutes ago      Up 35 minutes       0.0.0.0:81->80/tcp   mynginx

[root@myhost ~]# netstat -lntup |grep docker
tcp6       0      0 :::81                   :::*                    LISTEN      29921/docker-proxy- 
tcp6       0      0 :::82                   :::*                    LISTEN      34220/docker-proxy- 
tcp6       0      0 :::83                   :::*                    LISTEN      37346/docker-proxy- 

### 宿主机上防火墙开放83端口
[root@myhost ~]# firewall-cmd --zone=public --permanent --add-port=83/tcp && firewall-cmd --reload &&  firewall-cmd --list-ports
success
success
82/tcp 80/tcp 83/tcp 1124/tcp 81/tcp

[root@myhost ~]# docker exec -it fb1f4ef0bdd1 /bin/bash

root@fb1f4ef0bdd1:/# cd /usr/share/nginx/html/
root@fb1f4ef0bdd1:/usr/share/nginx/html# ls -l
total 16
-rw-r--r-- 1 root root  494 Aug 13  2019 50x.html
-rw-r--r-- 1 root root   27 Apr 23 08:44 index.html
root@fb1f4ef0bdd1:/usr/share/nginx/html# cat index.html 
wo shi wai bu de wen jian.
root@fb1f4ef0bdd1:/usr/share/nginx/html# 
root@d4db027461f6:/usr/share/nginx/html# exit
exit

浏览器进行访问 http://192.168.2.201:83/
在这里插入图片描述

八、docker镜像和tar文件之间的转换

8.1 docker save

命令:docker save image_name > xxx.tar

[root@myhost ~]# docker ps
CONTAINER ID        IMAGE                         COMMAND                  CREATED             STATUS              PORTS                NAMES
fb1f4ef0bdd1        nginx_image_from_dockerfile   "nginx -g 'daemon ..."   3 seconds ago       Up 3 seconds        0.0.0.0:83->80/tcp   objective_austin
d48147beaae6        nginx_new_image     "nginx -g 'daemon ..."   5 seconds ago       Up 4 seconds        0.0.0.0:82->80/tcp   musing_pare
2a198d288459        nginx:1.16.1                  "nginx -g 'daemon ..."   35 minutes ago      Up 35 minutes       0.0.0.0:81->80/tcp   mynginx

[root@myhost ~]# docker save nginx_image_from_dockerfile > nginx_im_waibuwenjan.tar
[root@myhost ~]# ls -l
总用量 127496
-rw-------. 1 root root      1001 3月   5 14:00 anaconda-ks.cfg
-rw-r--r--  1 root root        58 4月  23 16:57 Dockerfile
-rw-r--r--  1 root root        27 4月  23 16:44 index.html
-rw-r--r--  1 root root 130540544 4月  23 17:03 nginx_im_waibuwenjan.tar
8.2 docker load

命令: docker load < xxx.tar

[root@myhost ~]# docker rm -f fb1f4ef0bdd1
fb1f4ef0bdd1
[root@myhost ~]# docker ps
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                NAMES
d48147beaae6        nginx_new_image     "nginx -g 'daemon ..."   34 minutes ago      Up 34 minutes       0.0.0.0:82->80/tcp   musing_pare
2a198d288459        nginx:1.16.1        "nginx -g 'daemon ..."   53 minutes ago      Up 53 minutes       0.0.0.0:81->80/tcp   mynginx

[root@myhost ~]# docker images
REPOSITORY                    TAG                 IMAGE ID            CREATED             SIZE
nginx_image_from_dockerfile   latest              ac7f8746c076        6 minutes ago       127 MB
nginx_new_image               latest              ada4d5ebb5b4        37 minutes ago      127 MB
docker.io/nginx               1.16.1              dfcfd8e9a5d3        12 months ago       127 MB

[root@myhost ~]# docker rmi nginx_image_from_dockerfile
Untagged: nginx_image_from_dockerfile:latest
Deleted: sha256:ac7f8746c076183220a7070f8315a7eca6f6a17688d717792a2580e7cca8d10c
Deleted: sha256:6a8ac32384c23c34a367c88a208823a4fda5d00a7e3e322b35d90fc358d2421c

[root@myhost ~]# docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
nginx_new_image     latest              ada4d5ebb5b4        37 minutes ago      127 MB
docker.io/nginx     1.16.1              dfcfd8e9a5d3        12 months ago       127 MB

[root@myhost ~]# docker load < ./nginx_im_waibuwenjan.tar  
9835b259e882: Loading layer [==================================================>] 4.096 kB/4.096 kB
Loaded image: nginx_image_from_dockerfile:latest

[root@myhost ~]# docker images
REPOSITORY                    TAG                 IMAGE ID            CREATED             SIZE
nginx_image_from_dockerfile   latest              ac7f8746c076        8 minutes ago       127 MB
nginx_new_image               latest              ada4d5ebb5b4        39 minutes ago      127 MB
docker.io/nginx               1.16.1              dfcfd8e9a5d3        12 months ago       127 MB

九、将宿主机上文件路径挂载到容器内部的某个路径

[root@myhost ~]# ll
总用量 127496
-rw-------. 1 root root      1001 3月   5 14:00 anaconda-ks.cfg
-rw-r--r--  1 root root        58 4月  23 16:57 Dockerfile
-rw-r--r--  1 root root        91 4月  23 17:10 index.html
-rw-r--r--  1 root root 130540544 4月  23 17:03 nginx_im_waibuwenjan.tar

[root@myhost ~]# cat index.html 
wo shi wai bu de wen jian.

[root@myhost ~]# docker run -d -p84:80 --name my_nginx_85  -v `pwd`:/usr/share/nginx/html nginx:1.16.1
41b2ee5bc2f6f0608dacb183907877281d917600be4028702c8768892bae787b

[root@myhost ~]# docker ps
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                NAMES
41b2ee5bc2f6        nginx:1.16.1        "nginx -g 'daemon ..."   4 seconds ago       Up 3 seconds        0.0.0.0:84->80/tcp   my_nginx_84
d48147beaae6        nginx_new_image     "nginx -g 'daemon ..."   44 minutes ago      Up 44 minutes       0.0.0.0:82->80/tcp   musing_pare
2a198d288459        nginx:1.16.1        "nginx -g 'daemon ..."   About an hour ago   Up About an hour    0.0.0.0:81->80/tcp   mynginx
[root@myhost ~]# firewall-cmd --zone=public --permanent --add-port=84/tcp && firewall-cmd --reload &&  firewall-cmd --list-ports
success
success
80/tcp 1124/tcp 81/tcp 84/tcp 82/tcp 83/tcp

[root@myhost ~]# docker exec -it 41b2ee5bc2f6 /bin/bash
root@41b2ee5bc2f6:/usr/share/nginx/html# ls -l
total 127496
-rw-r--r--  1 root root        58 Apr 23 08:57 Dockerfile
-rw-------. 1 root root      1001 Mar  5 06:00 anaconda-ks.cfg
-rw-r--r--  1 root root        91 Apr 23 09:10 index.html
-rw-r--r--  1 root root 130540544 Apr 23 09:03 nginx_im_waibuwenjan.tar
root@41b2ee5bc2f6:/usr/share/nginx/html# 
root@41b2ee5bc2f6:/usr/share/nginx/html# exit
exit

十、宿主机上文件和容器内部文件互相拷贝

从宿主机复制到容器中: docker cp host_path container_id:container_path

从容器复制到宿主机中: docker cp container_id:container_path host_path

注意: container_id 必须是容器的完整id,查看容器长id: docker ps --no trunc

docker容器内无法删除文件

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值