上一篇介绍了镜像(image)的简单操作,现在镜像有了,如何才能操作容器呢
① 开启容器
# 语法
docker run -[options] "镜像名"
options:
-i 以交互模式运行容器
-t 表示容器运行后会进入其命令行
--name 为创建的容器起名
-v 目录映射关系
-d 以守护进程运行容器
-p 端口映射
-e 为容器设置环境变量
--network=host 表示将主机的网络环境映射到容器中,容器的网络与主机相同
(1) 以交互模式并进入命令行模式开启容器 / 退出交互模式
# 开启一个名为firstContainer的容器
docker run -it --name=firstContainer centos /bin/bash
或者
docker container run -it --name=firstContainer centos:latest /bin/bash
# 退出交互模式
exit
(2)以守护进程开启容器
以守护方式开启容器并不会进入命令行模式,也就是说不可以直接操作容器,下面介绍其操作方法
# 以守护方式开启一个名为secondContainer的容器
docker run -dit --name=secondContainer centos /bin/bash
或者
docker container run -dit --name=secondContainer centos:latest /bin/bash
1,进入已经开启的容器
# 语法:
docker exec [options] "已开启容器名/ID" "进入容器后执行的第一个命令,如上面的/bin/bash"
例:进入名为secondContainer的容器
docker exec -it secondContainer /bin/bash
或者
docker container exec -it secondContainer /bin/bash
# 退出交互命令和上面一样
exit
② 查看当前容器
# 查看当前正在运行的容器
docker container ls
# 查看所有容器
docker container ls --all
③ 停止和启动容器
# 停止一个正在运行的容器
docker container stop "容器名/id"
# 启动一个已经停止的容器
docker container start "容器名/id"
# kill掉一个正在运行的容器
docker container kill "容器名/id"
④ 删除容器(删除容器时container是可选的,rm前面空白默认删除的是container)
docker container rm "容器名/id"
⑤ 将容器保存为镜像
# 语法:
docker commit "容器名" "镜像名"
# 例:
docker commit secondContainer centos
⑥ 镜像备份与迁移
# 语法
docker save -o "文件名" "镜像名"
例:
docker save -o centos.tar centos
⑦ 将镜像(压缩包)加载到本地
# 语法:
docker load -i "镜像(打包)名"
# 例:
docker load -i ./centos.tar
注意:执行完加载命令后,本地镜像的name和tag都是None,使用下面命令可以更改其名称和tag:
docker tag "镜像id" “要设置的name”:"要设置的tag名"
例:
docker tag ssdd ubuntu1:4.3