docker 容器基本的操作

╰+哭是因爲堅強的太久メ 2023-05-31 12:21 70阅读 0赞

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

docker 查看当前所有的容器

docker ps -a

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

docker 查看最新创建的容器

docker ps -l

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

创建容器:

docker create nginx(容器的名称)

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

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

删除容器

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

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

docker ps 查看当前运行的容器

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

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

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

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

docker 启动容器

docker start 容器名称/id

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

docker 关闭运行的容器

docker stop 容器名称/id

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

docker 运行一个容器

docker run -d -p 8090:90

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

  1. [root@izr86 ~]# docker run -d -p 8090:90 nginx
  2. cf781e80699b3d3c044a469ef0db63e971eb2cc84bcc1a94004e98e61166eb77
  3. [root@izr86 ~]# netstat -ntpl
  4. Active Internet connections (only servers)
  5. Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
  6. tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 30041/java
  7. tcp 0 0 0.0.0.0:4369 0.0.0.0:* LISTEN 2972/epmd
  8. tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1398/sshd
  9. tcp 0 0 0.0.0.0:15672 0.0.0.0:* LISTEN 32423/beam
  10. tcp 0 0 127.0.0.1:8005 0.0.0.0:* LISTEN 30041/java
  11. tcp 0 0 0.0.0.0:25672 0.0.0.0:* LISTEN 32423/beam
  12. tcp 0 0 0.0.0.0:8009 0.0.0.0:* LISTEN 30041/java
  13. tcp 0 0 0.0.0.0:3690 0.0.0.0:* LISTEN 6457/svnserve
  14. tcp6 0 0 :::4369 :::* LISTEN 2972/epmd
  15. tcp6 0 0 :::8090 :::* LISTEN 6226/docker-proxy
  16. tcp6 0 0 :::5672 :::* LISTEN 32423/beam
  17. tcp6 0 0 :::3306 :::* LISTEN 12963/mysqld
  18. [root@izr86 ~]#

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

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

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

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2RhdG91bmlhbzE_size_16_color_FFFFFF_t_70

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

希望对你有所帮助

发表评论

表情:
评论列表 (有 0 条评论,70人围观)

还没有评论,来说两句吧...

相关阅读