Docker是一个开源的容器引擎,它有助于更快地交付应用。 Docker可将应用程序和基础设施层隔离,并且能将基础设施当作程序一样进行管理。使用 Docker可更快地打包、测试以及部署应用程序,并可以缩短从编写到部署运行代码的周期。
本文将从镜像相关命令 和 容器相关命令来讲解。
docker search java
以上列表包含五列,含义如下:
docker pull java:8
docker pull nginx
例如 docker rmi java
删除所有镜像
docker rmi $(docker images -q)
例如 docker run -d -p 91:80 nginx
这样就能启动一个 Nginx容器。在本例中,为 docker run添加了两个参数,含义如下:
-d 后台运行
-p 宿主机端口:容器端口 #开放容器端口到宿主机端口
访问 http://Docker宿主机 IP:91/,将会看到nginx的主界面如下:
需要注意的是,
docker run
命令创建容器时,会先检查本地是否存在指定镜像。如果本地不存在该名称的镜像, Docker就会自动从 Docker Hub下载镜像并启动一个 Docker容器docker ps
如需列出所有容器(包括已停止的容器),可使用-a参数。该列表包含了7列,含义如下
docker stop f0b1c8ab3633
docker stop nginx
其中f0b1c8ab3633是容器 ID, 当然也可使用 docker stop容器名称来停止指定容器
docker kill f0b1c8ab3633
docker start f0b1c8ab3633
或
docker start nginx
docker inspect f0b1c8ab3633
docker container logs f0b1c8ab3633
docker logs f0b1c8ab3633
docker logs -f -t --tail=100 f0b1c8ab3633
$ docker logs [OPTIONS] CONTAINER
Options:
--details 显示更多的信息
-f, --follow 跟踪实时日志
--since string 显示自某个timestamp之后的日志,或相对时间,如42m(即42分钟)
--tail string 从日志末尾显示多少行日志, 默认是all
-t, --timestamps 显示时间戳
--until string 显示自某个timestamp之前的日志,或相对时间,如42m(即42分钟)
docker logs -f -t --since="2023-10-27" --tail=100 f0b1c8ab3633
docker logs --since 10m fe65b0dbf0f7
docker logs -t --since="2023-10-16T08:40:30" fe65b0dbf0f7
docker logs -t --since="2023-10-16T08:40:30" --until "2023-10-16T08:50:50" fe65b0dbf0f7
docker top f0b1c8ab3633
docker cp 容器id:要拷贝的文件在容器里面的路径 宿主机的相应路径
docker cp 7aa5dc458f9d:/etc/nginx/nginx.conf /mydata/nginx
docker cp 要拷贝的宿主机文件路径 容器id:要拷贝到容器里面对应的路径
docker exec -it f0b1c8ab3633 /bin/bash (有的容器需要把 /bin/bash 换成 sh)
apt-get update
apt-get install vim #安装vim
apt-get install iputils-ping #安装ping
apt-get install net-tools #安装ifconfig
12、删除容器
docker rm f0b1c8ab3633
docker rm -f $(docker ps -a -q)