Docker常用操作

Linux文件列表

阮一峰 Docker 入门教程

菜鸟教程Docker容器使用

Linux 命令(常用)

Linux 服务管理 service 与 systemctl

docker服务未启动

docker服务并不一定是自动启动的,如果执行docker ps 会报错:Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?

则需要手动启动docker服务

Ubuntu启动docker服务

service docker start

基本概念

image 是只读的,对应于面向对象中的类;

container 对应于面向对象中的对象;这个对象会一直存在于磁盘,并且可以启动,停止,重启;

docker常用操作

#列出dockers镜像文件ID
docker images
#查看正在运行的容器
docker ps
#列出所有容器,注意有两个横线
docker container ls --all
#停止容器运行(优雅退出:先signal terminal,再signal kill)
docker container stop container_name
#结束运行一个容器(强制退出:直接signal kill)
docker container kill containID
#使用镜像image_name启动一个容器,在容器内执行/bin/bash命令。
docker run -it image_name /bin/bash
#退出容器bash
Ctrl+D
#启动容器挂在本机/root到容器的/root,并启动命令行
docker run -itv /root:/root your_dir/your-image /bin/bash
#重新启动一个容器,并挂载当前系统的/root目录到容器系统中的/root目录
docker container run -itv /root:/root  image_name /bin/bash
#创建一个新容器并运行创建一个新的容器并运行一个命令docker run
docker run --name your-node -p 1011:1011  -it -v /root:/data image_name /bin/bash
# 1 image为node;
# 2 name为yww-node的容器;
# 3 在创建完成之后直接进入容器的shell命令行
# 4 将宿主机的100端口映射为容器的1011端口
docker container run image_id --name yww-node -p 1011:1011 -it node /bin/bash
docker container run --name yww-node -p 1011:1011 -it node /bin/bash
docker container run -p 1011:1011 -it node /bin/bash
docker container run -p 8000:3000 -it koa-demo:0.0.1 /bin/bash
docker run 07e774543bdf    -p 1011:1011   -v /root:/data image_name /bin/bash
#进入已经启动的容器
docker attach containID

#启动一个已经停止的容器
docker container start container_name
#删除容器的实体文件(删除容器:需要先stop)
docker container rm container_name
#查找含有字符串的容器;-a 全部显示
docker ps -a | grep 'yuanweiwei'

当你退出一个容器之后,命令行自动切换成主机bash命令行。

docker命令格式

docker run :创建一个新的容器并运行一个命令

语法:docker run [OPTIONS] IMAGE [COMMAND] [ARG...]

1.OPTIONS说明

-t:为容器重新分配一个伪输入终端,通常与 -i 同时使用
-i:以交互模式运行容器,通常与 -t 同时使用
-d:后台运行容器,并返回容器ID
--name:为容器指定一个名称
-p:端口映射,格式为:主机(宿主)端口:容器端口
-v:	挂载宿主机文件夹,格式为: 宿主机文件夹:容器文件夹
--link: 添加链接到另一个容器
-m:设置容器使用内存最大值;

2.使用docker镜像image_name以后台模式启动一个容器,并将容器命名为mytomcat

docker run -tid --name mytomcat image_name

3.使用镜像image_name以后台模式启动一个容器,并将容器的8080端口映射到宿主机的8080端口。

docker run -tid --name mytomcat -p 8080:8080 image_name

4.使用镜像image_name以后台模式启动一个容器,并将容器的8080端口映射到宿主机的8080端口,主机的目录 /home 映射到容器的 /home

docker run -tid --name mytomcat -p 8080:8080 -v /home:/home image_name

Docker数据存储:

docker容器不保持任何数据
重要数据请使用外部卷存储(数据持久化)

宿主机与容器里文件共享

通过docker run命令

1、运行命令:docker run --name test -it -v /home/xqh/myimage:/data ubuntu /bin/bash

其中的 -v 标记 在容器中设置了一个挂载点 /data(就是容器中的一个目录),并将主机上的 /home/xqh/myimage 目录中的内容关联到 /data下。

这样在容器中对/data目录下的操作,还是在主机上对/home/xqh/myimage的操作,都是完全实时同步的,因为这两个目录实际都是指向主机目录。

专业做法

共享网络共享文件夹

1 用镜像名称创建一个容器并启动:并命名这个容器

docker run --name my-cloud --restart unless-stopped -it -v /data:/data -v /log:/log --network=host image_name

2 进入容器的命令行:前提是容器已经start

docker container exec -it my-cloud /bin/bash

这时候你已经在容器中了。

3 退出容器的bash命令行:在容器的命令行输入exit,回车即可

exit

ubuntu 完全干净的卸载docker

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

C++程序员Carea

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值