Docker run流程及镜像的基本命令详解
Docker run流程
在Docker中运行容器时,需要使用docker run
命令。该命令包括以下步骤:
- 检查本地镜像是否存在,如果不存在,则从Docker Hub下载
- 使用镜像创建容器
- 分配一个文件系统,并在其上执行各种操作
- 分配一个网络地址
- 执行用户指定的命令
镜像基本命令
在使用Docker时,经常需要使用到镜像相关的命令,以下列出几个常用的镜像命令:
docker pull
: 从Docker Hub下载镜像
例如:docker pull nginx
docker images
: 列出本地所有的镜像
例如:
REPOSITORY TAG IMAGE ID CREATED SIZE
nginx latest 0eb98ac809b4 3 hours ago 109MB
ubuntu latest 1318b700e415 5 weeks ago 72.8MB
docker run
: 运行容器
例如:docker run -it nginx /bin/bash
docker ps
: 列出正在运行的容器
例如:
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
c0b021ea5f47 nginx "/docker-entrypoint.…" 19 seconds ago Up 17 seconds 0.0.0.0:80->80/tcp friendly_shirley
docker stop
: 关闭容器
例如:docker stop c0b021ea5f47
docker rm
: 删除容器
例如:docker rm c0b021ea5f47
示例说明
示例1:使用nginx镜像运行一个web服务
-
首先下载nginx镜像:
docker pull nginx
-
运行nginx容器,并暴露80端口:
docker run -p 80:80 nginx
运行结果如下:
```
$ docker run -p 80:80 nginx
/docker-entrypoint.sh: Configuration complete; ready for start up
```
此时,可以通过在浏览器中访问http://localhost
来查看nginx的欢迎页面。
- 关闭容器:
docker stop [container-id]
其中,[container-id]指的是docker run
命令生成的容器ID。
示例2:使用Ubuntu镜像运行一个Hello World程序
-
首先下载Ubuntu镜像:
docker pull ubuntu
-
运行Ubuntu容器,并打开交互式终端:
docker run -it ubuntu /bin/bash
运行结果如下:
$ docker run -it ubuntu /bin/bash
root@8680c29f5474:/#
- 在容器中安装
vim
编辑器,用于创建Hello World程序:apt-get update && apt-get install vim
在容器中输入上述命令,会进行apt-get的更新和安装vim编译。
- 在
vim
中创建一个名为hello_world.c
的程序文件,在其中输入以下内容:
```
#include
int main(void) {
printf("Hello, world!\n");
return 0;
}
```
-
保存并退出
hello_world.c
文件,并在容器中编译程序:gcc hello_world.c -o hello_world
-
运行程序:
./hello_world
运行结果为:
$ ./hello_world
Hello, world!
- 关闭容器:
exit
此时,容器已经运行完毕,可以通过docker ps -a
命令查看容器的状态,并通过docker rm
命令删除容器。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Docker run流程及镜像的基本命令详解 - Python技术站