本以上想熟悉一下那个神秘的docker,就是一个传说中很多运维专家强烈推荐的东西,然后打算安装一百年,然后了解一下docker的配置命令什么的,学习学习;
安装前显示在菜鸟教程上面看了一遍,又找了一个高票回答熟悉了一边操作流程才开始的,我最开始选的是ubuntu18.04,然后我在安装的时候碰到了无数的问题....
很要命,最后我崩溃了,居然apt-get都报错,找不到这个命令?!
我真的是一步步按照流程来的...
所以现在成这样了:
我用kali一点问题都没有,果然
kaliLinux才是世界上最好的发行版系统
安装流程:(别忘了快照)
首先查看你的系统版本
uname -a
更新系统源
apt-get update
然后卸载所有旧的版本
apt-get remove docker docker-engine docker.io containerd runc
安装docker以及docker仓库所需的所有依赖包:
root@AlexzKali:/# apt-get install \
> apt-transport-https \
> ca-certificates \
> curl \
> gnupg-agent \
> software-properties-common
添加docker官方的GPG秘钥
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
之后要是成功的话只有简短的两个字母:
OK
查看所有秘钥,是否有我们刚才添加的docker秘钥
apt-key fingerprint
然后,开始安装
apt-get install docker-ce docker-ce-cli containerd.io
当然你也可以看看你想安装什么特殊的版本:
apt-cache madison docker-ce
一切正常的话就已经安装成功了,我们来看看:
这个时候我们想尝试一下从仓库上抓取hello-world这个image试试:
docker image pull library/hello-world
提示超时,我们需要更换国内的源
nano /etc/docker/daemon.json
要是没有这个文件就新建一个
写入如下内容:
{
"registry-mirrors": ["https://registry.docker-cn.com"]
}
保存退出
重启docker服务
systemctl restart docker.service
Docker常用命令
docker version #查看Docker版本
systemctl start docker #启动
systemctl stop docker #关闭docker
systemctl restart docker #重启docker服务
systemctl daemon-reload #守护进程重启
docker images #查看本地镜像
docker images -a #查看所有的镜像
docker images php #查看仓库名为php的镜像
docker rmi -f 镜像ID #强制删除镜像
docker rmi -f 镜像名A:tag 镜像名B:tag #删除多个镜像
docker rmi -f $(docker images -aq) #删除全部镜像
docker save #导出镜像 例如:docker image save centos > docker-centos7.4.tar.gz
docker load #导入镜像 例如:docker image load -i docker-centos7.4.tar.gz
docker search xx #查找相关镜像 例如:docker search redis
docker search -s 30 redis #查找start大于30的redis镜像
docker pull name:标签 #从查找的镜像中下载下来,标签默认是latest 例如:docker pull redis 等价于 docker pull redis:latest
docker run -d -P --name xxx REPOSITORY:TAG #根据镜像启动容器
-d:让容器在后台运行
-P:将容器内部使用的网络端口映射到我们使用的主机上
-p:自定义端口映射,如 -p 8002:80 ,意思就是将容器的80端口映射到宿主机的8002端口
--name:该参数可选,指定容器的名字
docker ps #查看运行中的容器
docker ps –a #查看所有的容器
docker start 容器ID #启动容器
docker stop 容器ID #停止容器
docker restart 容器ID #重启容器
docker rm 容器ID #删除容器,删除容器前需停止该容器
docker rm `docker ps -aq` #删除全部容器
docker exec -it 容器id或容器名字 /bin/bash 进入docker容器进行管理