docker安装、卸载、操作

一、Docker安装

1.yum安装gcc相关环境(确保虚拟机可以上外网)

yum -y install gcc
yum -y install gcc-c++

2.卸载旧版本

yum remove docker \
                  docker-client \
                  docker-client-latest \
                  docker-common \
                  docker-latest \
                  docker-latest-logrotate \
                  docker-logrotate \
                  docker-engine

3.安装需要的软件包

yum install -y yum-utils

4.设置镜像仓库

yum-config-manager \
    --add-repo \
    http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

5.更新yum软件包索引

yum makecache fase

6.安装docker ce

yum install docker-ce docker-ce-cli containerd.io

7.启动docker

systemctl start docker

8.测试命令

docker version

docker run hello-world

docker images

9.卸载

systemctl stop docker

yum -y remove docker-ce docker-ce-cli containerd.io

re -rf /var/lib/docker

10.配置镜像加速

mkdir -p /etc/docker

tee /ect/docker/daemon.json <<-'EOF'
{
	"registry-mirrors": ["https://qiyb9988.mirror.aliyuncs.com"]
}
EOF

systemctl daemon-reload

systemctl restart docker

二、Docker操作

基本操作

1.移除所有镜像

docker rm -f $(docker ps -qa)

2.查看镜像

docker images

3.运行docker

docker run -d -P --name [别名] [images名称]

4.查看运行的容器

docker ps

5.列出所有的容器 ID

docker ps -aq

6.停止所有的容器

docker stop $(docker ps -aq)

7.删除所有的容器

docker rm $(docker ps -aq)

8.删除所有的镜像

docker rmi $(docker images -q)

        a.删除指定容器

docker rm -f <containerid>

        b.删除未启动成功的容器

docker rm $(docker ps -a|grep Created|awk '{print $1}')
或者
docker rm $(docker ps -qf status=created)

        c.删除退出状态的容器

docker rm $(docker ps -a|grep Exited|awk '{print $1}')
或者
docker rm $(docker ps -qf status=exited)

        d.删除所有未运行的容器

#正在运行的删除不了,所有未运行的都被删除了
docker rm $(docker ps -a -q) 
或者
#Docker 1.13版本以后,可以使用 docker containers prune 命令,删除孤立的容器
docker container prune 

docker run [可选参数] image

-d  容器名称
-p  指定容器端口号(主机端口号:容器端口号)
-it 使用交互方式运行,进入容器查看内容
-P  随机指定端口
--name="NAME"   容器名称 tomcat01 tomcat02 用来区分容器

9.查看日志

docker logs -tf --tail 行数 容器id

10.查看容器中的pid

docker top 容器ID

11.查看容器信息

docker inspect 容器ID

12.进入当前正在运行的容器,修改一些配置

docker exec -it 容器ID bashShell  #方式1,进入容器后,开启一个新的终端,可以在里面操作

docker attach 容器ID  #方式2,正在执行当前的代码,不会启动新的进程

13.从容器内拷贝文件到主机上

docker cp 容器ID:容器内路径 目的的主机路径

14.commit镜像,把已有镜像和自己的操作打包成新的镜像,保存当前状态

docker commit -m="提交描述信息" -a="作者" 容器id 目标镜像名:[TAG]

15.数据卷

# 容器数据卷挂载,容器在就可以,是双向绑定
# 容器删除后,数据还在
docker run -it -v 本地目录:容器内目录

# 匿名挂载,没有名字
docker run -d -P --name 别名 -v 容器内目录 镜像名
docker run -d -P --name nginx01 -v /etc/nginx nginx

# 具名挂载
docker run -d -P --name 别名 -v 卷名:容器内目录 镜像名

#查看所有卷信息
docker volume ls

# 查看对应路径
docker inspect 卷名

-v 容器内路径:ro rw 读写权限
ro 只读 ,只能通过宿主机改变,内部无法操作
rw 可读可写


# 容器间相互共享,容器数据卷
--volumes-from
可以删除原容器内文件,其余挂载容器可以依旧访问(备份机制),拷贝的概念
容器之间配置信息传递,数据卷容易的生命周期一直持续到没有容器使用为止
但是一旦持久化到本地,本地的数据不会删除的

自定义网络

1.查看网络

docker network ls

2.创建网络

# --gateway 网关
# --subnet  子网掩码    192.168.0.0/16  从192.168.0.2开始~192.168.255.255
# --driver  连接方式    bridge 桥接
docker network create --driver bridge --subnet 192.168.0.0/16 --gateway 192.168.0.1 mynet

3.查看自己创建的网络

docker network insepct mynet

4.启动容器

# --net 使用哪个网络
docker run -d -P tomcat01 --net mynet tomcat

5.容器之间互ping

# 容器之间互ping,不用--link可以ping名字
docker exec -it tomcat-net-01 ping tomcat-net-02

平时使用自定义网络 好处:

        redis - 不同的集群使用不同的网络,保证集群是安全和健康的

        mysql - 不同的集群使用不同的网络,保证集群是安全和健康的

6.网络连通(容器和网络连通)

#容器连接另个网络上,连通之后放到了mynet的网络下,相当于一个容器两个ip地址
docker network connect mynet tomcat01

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值