Docker 基本命令

Docker 基本命令

1.搜索docker镜像

[root@node209 ~]# docker search hello-world

 

2.下载docker镜像

docker pull docker.io/hello-world

3.查看docker镜像

docker images

docker image ls

4.运行docker镜像

docker run  IMAGE ID (镜像ID只需要前几个字符即可识别)

[root@node209 ~]# docker run fce

5.查看正在运行的docker容器

docker container ls

docker ps

6.查看已经运行过的容器

[root@node209 ~]# docker ps -a

 

7.运行一个在后台的任务

docker run -d centos /bin/sh -c "while true;do echo hello_docker; sleep 1;done"

 

# 容器是运行应用程序的,所以必须要先有一个操作系统为基础

# 运行一个在后台的任务

docker run -d centos /bin/sh -c "while true;do echo hello_docker; sleep 1;done"

     -d         # 后台运行容器

     /bin/sh    # 指定使用centosbash解释器

     -c         # 运行一段shell命令

    "while true;do echo hello_docker; sleep 1;done"   # linux后台,每秒中打印一个hello_docker

 

8.不间断打印容器的日志信息

docker  logs  -f  容器id        # 不间断打印容器的日志信息

9.进入运行的容器

docker exec -it  CONTAINER IDNAMES /bin/bash

docker exec -it 容器id

docker attach 容器id

如:

 

 

 

 

10.交互式的运行一个容器,且进入容器(也就是开启并进入一个新的容器)

docker run -it centos /bin/bash

假如你没有centos这个镜像的话,它会自动从网上下载下来并运行

11.删除docker镜像删除docker容器

# 删除docker镜像

docker rmi REPOSITORY/IMAGE ID

如果使用REPOSITORY最后后面跟版本

如果是镜像ID就不需要

# 删除docker容器

docker 容器id

如果正在运行最后先docker stop 容器ID

 

12.提交创建自定义的镜像(docker container commit)

例如在docker里面安装一个vim然后再生产新的一个镜像过程:

(1)我们进入交互式的centos容器中,发现没有vim命令

  docker run -it centos /bin/bash

(2)在当前容器中,安装一个vim

  yum install -y vim

(3)安装好vim之后,exit退出容器

  exit

(4)查看刚才安装好vim的容器记录

docker container ls -a

 

(5)提交这个容器,创建新的image,

根据上面截图获取容器ID: b93d3b3ad45a

docker commit b93d3b3ad45a  zero/centos-vim

# zero/centos-vim 为自定义的镜像名

 

6.查看镜像文件

[root@node209 ~]# docker images

REPOSITORY           TAG                 IMAGE ID            CREATED             SIZE

zero/centos-vim      latest              11c8cef9ccb0        12 seconds ago      326 MB

13.导出镜像

#  zero/centos-vim 为镜像名

docker save zero/centos-vim > /opt/mycentos.tar.gz

 

14.导入镜像

docker load < /opt/mycentos.tar.gz

 

15.启动容器与停止容器

docker stop 容器id

docker start 容器id

 

16.新建容器并且启动

新建一个容器并输出hehe

docker run centos /bin/echo "hehe"  # 这跟在本地直接执行 /bin/echo'hehe'

 

新建容器并自定义一个名字mycontainer

docker run --name mycontainer -it centos /bin/bash  # 启动一个bash终端,允许用户进行交互。

查看的时候运行容器中多了一个名为mycontainer的容器

17.运行一个ubuntu容器

运行一个容器并进入终端

[root@node209 opt]# docker run -it centos /bin/bash

[root@4a96c773a085 /]#

18.查看所有的docker容器ID和镜像ID

# 查看所有的docker容器记录ID

docker ps -aq

# 查看所有的docker镜像ID

docker images -aq

# 删除所有的已经运行过的docker容器记录

docker rm `docker ps -aq`

# 删除所有的docker镜像

docker rmi `docker images -aq

19.查看指定容器的端口映射

docker port 容器ID

20.容器内的进程

docker top 容器id

 

21.外部访问容器

(1)在容器内跑一个app.py程序, 运行在5000端口

 

(2)使用-P参数随机映射一个端口到虚拟机上

docker run -d -P training/webapp python app.py

​    -P 参数会随机映射端口到容器开放的网络端口

​    如果本地没有这个镜像,docker run会自动为我们下载镜像然后运行

 

这边随机映射了32768端口

 

(3)使用-p参数自定义一个端口到虚拟机上, 如9000端口

docker run -d -p 9000:5000 training/webapp python app.py

(4)我们可以通过虚拟机的IP 加端口9000进行访问

 

22.查看容器详细信息

# docker inspect 容器ID

[root@node209 ~]# docker inspect ab56bba91343

 

posted @ 2018-09-21 22:45  pycoder_hsz  阅读(246)  评论(0编辑  收藏  举报