docker 容器基本的操作

转自:https://mp.weixin.qq.com/s?__biz=MzU3NzczMTAzMg==&mid=2247484229&idx=1&sn=8693293c3ad09b97b7647804e8cbf692&chksm=fd0163f2ca76eae48b32389523671c26f1710350bd09ca943abbb94718604c2083e823383a34&scene=21#wechat_redirect

docker 查看当前所有的容器

docker ps -a

[root@izr86 ~]# docker ps -a
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS                    PORTS               NAMES
1ccd3d443198        hello-world         "/hello"            43 hours ago        Exited (0) 43 hours ago                       elated_lamarr
256192dc46e4        hello-world         "/hello"            2 days ago          Exited (0) 2 days ago                         great_gould
[root@izr86 ~]# 

docker 查看最新创建的容器

docker ps -l

[root@izr86 ~]# docker ps -l
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS                    PORTS               NAMES
1ccd3d443198        hello-world         "/hello"            43 hours ago        Exited (0) 43 hours ago                       elated_lamarr
[root@izr86 ~]# 

创建容器:

docker create nginx(容器的名称)

此时创建的容器是停止状态的,没有运行的

[root@izr86 ~]# docker create nginx
Unable to find image 'nginx:latest' locally
latest: Pulling from library/nginx
8d691f585fa8: Pull complete 
5b07f4e08ad0: Pull complete 
abc291867bca: Pull complete 
Digest: sha256:922c815aa4df050d4df476e92daed4231f466acc8ee90e0e774951b0fd7195a4
Status: Downloaded newer image for nginx:latest
154847240dc658655e9d5bb496eeca837fe0e9a5d4561c16833bfcb6b4f71673
[root@izr86 ~]# docker ps -a
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS                    PORTS               NAMES
154847240dc6        nginx               "nginx -g 'daemon of…"   7 seconds ago       Created                                       determined_moore
1ccd3d443198        hello-world         "/hello"                 43 hours ago        Exited (0) 43 hours ago                       elated_lamarr
256192dc46e4        hello-world         "/hello"                 2 days ago          Exited (0) 2 days ago                         great_gould
[root@izr86 ~]# 

删除容器

容器删除之前,要停止运行

首先要查看要删除的容器是否在运行

docker ps 查看当前运行的容器

[root@izr86 ~]# docker ps
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES

查看了当前的容器之后,我们删除一个容器

256192dc46e4        hello-world         "/hello"                 2 days ago          Exited (0) 2 days ago                         great_gould
[root@izr86 ~]# docker rm 256192dc46e4
256192dc46e4

可以根据容器的id删除一个容器,或者是根据名称删除一个id

docker 启动容器

docker start 容器名称/id

[root@izr86 ~]# docker ps -l
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS                          PORTS               NAMES
39ab25ad95fa        nginx               "nginx -g 'daemon of…"   15 minutes ago      Exited (0) About a minute ago                       nginx1
[root@izr86 ~]# docker start nginx1
nginx1

docker 关闭运行的容器

docker stop 容器名称/id

[root@izr86 ~]# docker ps
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                          NAMES
39ab25ad95fa        nginx               "nginx -g 'daemon of…"   10 minutes ago      Up 10 minutes       80/tcp, 0.0.0.0:8090->90/tcp   nginx1
[root@izr86 ~]# docker stop 39ab25ad95fa
39ab25ad95fa

 docker 运行一个容器

docker run -d -p 8090:90 

-d 表示容器在后台运行,-p 表示将容器的 80 端口映射到宿主机的 8080 端口,

[root@izr86 ~]# docker run -d -p 8090:90 nginx
cf781e80699b3d3c044a469ef0db63e971eb2cc84bcc1a94004e98e61166eb77
[root@izr86 ~]# netstat -ntpl
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name    
tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      30041/java          
tcp        0      0 0.0.0.0:4369            0.0.0.0:*               LISTEN      2972/epmd           
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      1398/sshd           
tcp        0      0 0.0.0.0:15672           0.0.0.0:*               LISTEN      32423/beam          
tcp        0      0 127.0.0.1:8005          0.0.0.0:*               LISTEN      30041/java          
tcp        0      0 0.0.0.0:25672           0.0.0.0:*               LISTEN      32423/beam          
tcp        0      0 0.0.0.0:8009            0.0.0.0:*               LISTEN      30041/java          
tcp        0      0 0.0.0.0:3690            0.0.0.0:*               LISTEN      6457/svnserve       
tcp6       0      0 :::4369                 :::*                    LISTEN      2972/epmd           
tcp6       0      0 :::8090                 :::*                    LISTEN      6226/docker-proxy   
tcp6       0      0 :::5672                 :::*                    LISTEN      32423/beam          
tcp6       0      0 :::3306                 :::*                    LISTEN      12963/mysqld        
[root@izr86 ~]# 

但是我们现在是无法外网8090的,或者说访问不通

因为我们绑定的是docker的90端口,我们必须绑定docker的80端口才能进行通过外网访问

[root@izr86o15kikb3az ~]# docker run -d -p 8090:80 nginx
88cde77f1b79daa5b4de88be6be081b109f38dd136ad3d1c476894e3c7b22a43

上面介绍的docker的基础,一些基本的应用

希望对你有所帮助


 

发布了356 篇原创文章 · 获赞 147 · 访问量 76万+

猜你喜欢

转载自blog.csdn.net/datouniao1/article/details/102736224