一.Linux安装docker (centos7)
- 卸载旧版本(如果安装过旧版本的话)
sudo yum remove docker docker-common docker-selinux docker-engine
- 安装需要的软件包, yum-util 提供yum-config-manager功能,另外两个是devicemapper驱动依赖的
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
- 设置yum源
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo(阿里仓库)
- 安装Docker
sudo yum install docker-ce
有时候安装的时候报错,因为之前安装过docker多次,导致有冲突的依赖包,执行以下代码
# 查看冲突的依赖包
yum list installed | grep docker
# 删除即可
rpm -e docker-client.x86_64
- 启动Docker,命令:systemctl start docker,然后加入开机启动,如下
systemctl start docker
systemctl enable docker
设置开机启动有时遇到如下
Created symlink from /etc/systemd/system/multi-user.target.wants/docker.service to /usr/lib/systemd/system/docker.service.
将指定用户添加到用户组
usermod -aG docker root
退出,然后重新登录,以便让权限生效。
----------------- docker ps 查看当前正在运行的容器
----------------- docker ps -a 查看所有容器的状态
----------------- docker start/stop id/name 启动/停止某个容器
----------------- docker attach id 进入某个容器(使用exit退出后容器也跟着停止运行)
----------------- docker exec -ti id /bin/bash 启动一个伪终端以交互式的方式进入某个容器(使用exit退出后容器不停止运行)
----------------- docker images 查看本地镜像
----------------- docker rm id/name 删除某个容器
----------------- docker rmi id/name 删除某个镜像
----------------- docker run --name test -ti ubuntu /bin/bash 复制ubuntu容器并且重命名为test且运行,然后以伪终端交互式方式进入容器,运行bash
----------------- docker build -t soar/centos:7.1 . 通过当前目录下的Dockerfile创建一个名为soar/centos:7.1的镜像
----------------- docker run -d -p 2222:22 --name test soar/centos:7.1 以镜像soar/centos:7.1创建名为test的容器,并以后台模式运行,并做端口映射到宿主机2222端口,P参数重启容器宿主机端口会发生改变
二.安装docker-compose
- 运行一下命令,安装最新版本
第一种方式 Github源(一般我不用这种方式 太慢了)
sudo curl -L "https://github.com/docker/compose/releases/download/1.23.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
第二种方式 Daocloud镜像
sudo curl -L https://get.daocloud.io/docker/compose/releases/download/1.22.0/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
- 权限配置
sudo chmod +x /usr/local/bin/docker-compose
- 测试
docker-compose version
三.安装docker可视化工具
docker search portainer
docker pull portainer/portainer
下载 汉化包,提取码是:68fy,解压,并将解压后的public文件夹上传到centos系统的根目录下
然后执行以下命令:
docker run -d -p 9000:9000 --restart=always -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data -v /public:/public --name prtainer-test portainer/portainer
(如果已部署,需要将之前的容器删除)
参数说明:
-d:容器在后台运行;
-p 9000:9000 :宿主机9000端口映射容器中的9000端口
–restart 标志会检查容器的退出代码,并据此来决定是否要重启容器,默认是不会重启。
–restart=always:自动重启该容器
-v /var/run/docker.sock:/var/run/docker.sock :把宿主机的Docker守护进程(Docker daemon)默认监听的Unix域套接字挂载到容器中
-v portainer_data:/data :把宿主机portainer_data数据卷挂载到容器/data目录
–name prtainer-test : 给容器起名为portainer-test
一、获取阿里云镜像加速器地址
二、设置阿里云镜像加速
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://xxxxxxxxxxxxxxxxxxxxxx.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker