目录
前言
一、安装docker
二、Docker 常用命令
总结
前言
之前在工作中有用到docker,自己也有安装,为了方便以后使用的时候好找,现在把docker的安装教程记录下来,整体安装很简单,只需要几步就可以搞定了
一、安装docker
docker官方说至少3.8以上,建议3.10以上(ubuntu下要linux内核3.8以上, RHEL/Centos 的内核修补过, centos6.5的版本就可以——这个可以试试)
1、root账户登录,查看内核版本如下
[root@localhost ~]# uname -a
Linux localhost.localdomain 3.10.0-1160.36.2.el7.x86_64 #1 SMP Wed Jul 21 11:57:15 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux
2、把yum包更新到最新(很多朋友说更新yum有问题,可以不更新试试)
yum update
3、安装需要的软件包, yum-util 提供yum-config-manager功能,另外两个是devicemapper驱动依赖的
yum install -y yum-utils device-mapper-persistent-data lvm2
4、添加Docker Yum源
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
5、安装docker-ce
yum install docker-ce
如果安装报错
Error:
Problem: package docker-ce-3:19.03.6-3.el7.x86_64 requires containerd.io >= 1.2.2-3, but none of the providers can be installed
- cannot install the best candidate for the job
- package containerd.io-1.2.10-3.2.el7.x86_64 is excluded
- package containerd.io-1.2.2-3.3.el7.x86_64 is excluded
- package containerd.io-1.2.2-3.el7.x86_64 is excluded
- package containerd.io-1.2.4-3.1.el7.x86_64 is excluded
- package containerd.io-1.2.5-3.1.el7.x86_64 is excluded
- package containerd.io-1.2.6-3.3.el7.x86_64 is excluded
(try to add '--skip-broken' to skip uninstallable packages or '--nobest' to use not only best candidate packages)
先安装containerd.io,再安装docker-ce
dnf install https://mirrors.aliyun.com/docker-ce/linux/centos/7/x86_64/stable/Packages/containerd.io-1.2.6-3.3.el7.x86_64.rpm
6、打开Docker服务
设置开机启动
systemctl enable docker
启动docker
systemctl start docker
查看docker
# systemctl status docker
● docker.service - Docker Application Container Engine
Loaded: loaded (/usr/lib/systemd/system/docker.service; enabled; vendor preset: disabled)
Active: active (running) since Tue 2020-02-18 01:18:24 UTC; 5s ago
Docs: https://docs.docker.com
Main PID: 15974 (dockerd)
Tasks: 8
Memory: 57.6M
CGroup: /system.slice/docker.service
└─15974 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock
Feb 18 01:18:23 ip-172-31-20-189.ap-southeast-1.compute.internal dockerd[15974]: time="2020-02-18T01:18:23.779929616Z" level=info msg="ClientConn switching balancer to \"pick_first>
Feb 18 01:18:23 ip-172-31-20-189.ap-southeast-1.compute.internal dockerd[15974]: time="2020-02-18T01:18:23.803836421Z" level=warning msg="Your kernel does not support cgroup blkio >
Feb 18 01:18:23 ip-172-31-20-189.ap-southeast-1.compute.internal dockerd[15974]: time="2020-02-18T01:18:23.803869583Z" level=warning msg="Your kernel does not support cgroup blkio >
Feb 18 01:18:23 ip-172-31-20-189.ap-southeast-1.compute.internal dockerd[15974]: time="2020-02-18T01:18:23.803983869Z" level=info msg="Loading containers: start."
Feb 18 01:18:24 ip-172-31-20-189.ap-southeast-1.compute.internal dockerd[15974]: time="2020-02-18T01:18:24.122678848Z" level=info msg="Default bridge (docker0) is assigned with an >
Feb 18 01:18:24 ip-172-31-20-189.ap-southeast-1.compute.internal dockerd[15974]: time="2020-02-18T01:18:24.224324038Z" level=info msg="Loading containers: done."
Feb 18 01:18:24 ip-172-31-20-189.ap-southeast-1.compute.internal dockerd[15974]: time="2020-02-18T01:18:24.283833038Z" level=info msg="Docker daemon" commit=369ce74a3c graphdriver(>
Feb 18 01:18:24 ip-172-31-20-189.ap-southeast-1.compute.internal dockerd[15974]: time="2020-02-18T01:18:24.284052326Z" level=info msg="Daemon has completed initialization"
Feb 18 01:18:24 ip-172-31-20-189.ap-southeast-1.compute.internal dockerd[15974]: time="2020-02-18T01:18:24.334367595Z" level=info msg="API listen on /var/run/docker.sock"
Feb 18 01:18:24 ip-172-31-20-189.ap-southeast-1.compute.internal systemd[1]: Started Docker Application Container Engine.
7、验证安装是否成功(有client和service两部分表示docker安装启动都成功了)
[root@localhost /]# docker version
Client: Docker Engine - Community
Version: 20.10.8
API version: 1.41
Go version: go1.16.6
Git commit: 3967b7d
Built: Fri Jul 30 19:55:49 2021
OS/Arch: linux/amd64
Context: default
Experimental: true
Server: Docker Engine - Community
Engine:
Version: 20.10.8
API version: 1.41 (minimum version 1.12)
Go version: go1.16.6
Git commit: 75249d8
Built: Fri Jul 30 19:54:13 2021
OS/Arch: linux/amd64
Experimental: false
containerd:
Version: 1.4.9
GitCommit: e25210fe30a0a703442421b0f60afac609f950a3
runc:
Version: 1.0.1
GitCommit: v1.0.1-0-g4144b63
docker-init:
Version: 0.19.0
GitCommit: de40ad0
二、Docker 常用命令
1.拉取镜像
docker pull
2.删除容器
docker rm <容器名 or ID>
3.查看容器日志
docker logs -f <容器名 or ID>
4.查看正在运行的容器
docker ps
docker ps -a # 为查看所有的容器,包括已经停止的。
5.删除所有容器
docker rm $(docker ps -a -q)
6.停止、启动、杀死指定容器
docker start <容器名 or ID> # 启动容器
docker stop <容器名 or ID> # 启动容器
docker kill <容器名 or ID> # 杀死容器
7.查看所有镜像
docker images
8.拉取镜像
docker pull <镜像名:tag>
# 例如以下代码
docker pull sameersbn/redmine:latest
9.后台运行
docker run -d <Other Parameters>
# 例如
docker run -d -p 127.0.0.1:33301:22 centos6-ssh
10.暴露端口
# 一共有三种形式进行端口映射
docker -p ip:hostPort:containerPort # 映射指定地址的主机端口到容器端口
# 例如:docker -p 127.0.0.1:3306:3306 映射本机3306端口到容器的3306端口
docker -p ip::containerPort # 映射指定地址的任意可用端口到容器端口
# 例如:docker -p 127.0.0.1::3306 映射本机的随机可用端口到容器3306端口
docer -p hostPort:containerPort # 映射本机的指定端口到容器的指定端口
# 例如:docker -p 3306:3306 # 映射本机的3306端口到容器的3306端口
总结
以上就是docker的安装以及一些基本命令,docker基本安装还有命令还是挺简单的,现在docker用的已经比较普遍了,学习一下还是很有必要的,一起加油,耶( •̀ ω •́ )y