客快物流大数据项目(十):Docker容器命令
source link: https://blog.51cto.com/lansonli/5333932
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
客快物流大数据项目(十):Docker容器命令
原创Docker容器命令
有镜像才能创建容器,这是根本前提(下载一个CentOS镜像演示)
一、查看容器
- 查看正在运行的容器
- 查看所有容器
- 查看最后一次运行的容器
- 查看停止的容器
二、创建与启动容器
创建容器常用的参数说明
- 创建容器的命令:
- OPTIONS说明(常用):有些是一个减号,有些是两个减号
--name="容器新名字": 为容器指定一个名称; |
-d: 在run后面加上参数-d,会创建一个守护式容器在后台运行(这样创建容器后不会自动登录容器,如果只加-i-t两个参数,创建后会自动进入容器),并返回容器ID,也即启动守护式容器; |
-i:以交互模式运行容器,通常与 -t 同时使用; |
-t:表示容器启动后会进入其命令行,为容器重新分配一个伪输入终端,通常与 -i 同时使用; |
-p: 表示端口映射 有以下四种格式 ip:hostPort:containerPort ip::containerPort hostPort:containerPort containerPort 前者表示宿主机端口,后者是容器内的映射端口,可以使用多个-p做多个端口映射 |
- 启动交互式容器
docker run -it --name=centos 镜像名称:标签 /bin/bash |
拉取centos:docker pull centos |
docker run -it centos /bin/bash |
|
这时通过ps命令查看,发现可以看到启动的容器,状态为启动状态 |
也可以这样写 |
docker run -it --name=mycentos centos:latest /bin/bash |
/bin/bash的作用是因为docker后台必须运行一个进程,否则容器就会退出,在这里表示启动容器后启动bash。 |
- 退出当前容器
- 守护式方式创建容器:
docker run -di --name=容器名称 镜像名称:标签 |
docker run -di --name=mycentos2 centos:latest |
登录守护式容器方式: |
docker exec -it 容器名称(或者容器id) /bin/bash |
什么是守护式容器:
能够长期运行
没有交互式会话
适合运行应用程序和服务
三、停止与启动容器
docker stop 容器名称(或者容器id) |
docker stop mycentos2 |
docker start 容器名称(或者容器id) |
docker start mycentos2 |
- 强制停止容器
docker kill 容器名称(或者容器id) |
docker kill mycentos2 |
四、文件拷贝
- 如果需要将文件拷贝到容器内可以使用cp命令
docker cp /tmp/anaconda.log mycentos2:/tmp |
docker exec -it mycentos2 /bin/bash |
- 也可以将文件从容器内拷贝出来
docker cp 容器名称:容器目录 需要拷贝的文件或者目录 |
docker cp mycentos2:/tmp /export/ |
五、目录挂载
可以在创建容器的时候,将宿主机的目录和容器内的目录进行映射,这样就可以通过修改宿主机的某个目录的文件从而去影响容器
创建容器添加-v参数,后边为宿主机目录:容器目录,例如:
docker run -di -v /usr/local/myhtml:/usr/local/myhtml --name=mycentos3 centos:latest |
docker exec -it mycentos3 /bin/bash |
ls /usr/local/myhtml/ |
cp /export/tmp/anaconda.log /usr/local/myhtml/ |
docker exec -it mycentos3 /bin/bash |
docker run -di --privileged=true -v /usr/local/myhtml:/usr/local/myhtml --name=mycentos3 centos:latest |
如果共享的是多级的目录,可能会出现权限不足的提示。
这是因为Centos7中的安全模块selinux把权限禁掉了,我们需要添加参数--privileged=true来解决挂载的目录没有权限的问题?
六、查看容器ip地址
- 可以通过以下命令查看容器运行的各种数据
docker inspect 容器名称(容器id) |
docker inspect mycentos3 |
- 也可以直接执行下面的命令直接输出IP地址
docker inspect --format=’{{.NetworkSettings.IPAddress}}’ 容器名称(容器id) |
docker inspect --format=’{{.NetworkSettings.IPAddress}}’ mycentos3 |
七、删除容器
- 删除指定的容器:
docker rm 容器名称(容器ID) |
docker stop mycentos3 |
docker rm mycentos3 |
- 赞
- 收藏
- 评论
- 分享
- 举报
Recommend
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK