1.Docker版本
Docker-ce
Docker-ee
2.Docker安装
[root@xingdian ~]# yum install -y yum-utils device-mapper-persistent-data lvm2 git
[root@xingdian ~]# yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
[root@xingdian ~]# yum install docker-ce -y
以上是安装最新版本,如果需要指定版本安装,见下面命令:
查看docker版本:
[root@xingdian ~]# yum list docker-ce --showduplicates
指定版本安装:
[root@xingdian ~]# yum install docker-ce-20.10.2.ce -y
启动服务并做开机启动:
[root@xingdian ~]# systemctl enable docker
[root@xingdian ~]# systemctl start docker
3.Docker查看
查看安装版本:
[root@master ~]# docker -v
Docker version 20.10.16, build aa7e414
查看docker运行状态:
[root@master ~]# docker info
Client:
Context: default
Debug Mode: false
Plugins:
app: Docker App (Docker Inc., v0.9.1-beta3)
buildx: Docker Buildx (Docker Inc., v0.8.2-docker)
scan: Docker Scan (Docker Inc., v0.17.0)
Server:
Containers: 33
Running: 16
Paused: 0
Stopped: 17
Images: 12
Server Version: 20.10.16
Storage Driver: overlay2
Backing Filesystem: xfs
Supports d_type: true
Native Overlay Diff: true
userxattr: false
Logging Driver: json-file
Cgroup Driver: cgroupfs
Cgroup Version: 1
Plugins:
Volume: local
Network: bridge host ipvlan macvlan null overlay
Log: awslogs fluentd gcplogs gelf journald json-file local logentries splunk syslog
Swarm: inactive
Runtimes: io.containerd.runc.v2 io.containerd.runtime.v1.linux runc
Default Runtime: runc
Init Binary: docker-init
containerd version: 212e8b6fa2f44b9c21b2798135fc6fb7c53efc16
runc version: v1.1.1-0-g52de29d
init version: de40ad0
Security Options:
seccomp
Profile: default
Kernel Version: 3.10.0-1160.el7.x86_64
Operating System: CentOS Linux 7 (Core)
OSType: linux
Architecture: x86_64
CPUs: 2
Total Memory: 3.701GiB
Name: master
ID: VQQL:HVIY:NPF2:OPE6:SQK7:ZRGZ:RQVG:3XKX:MLMD:OYT5:OZKP:FRYW
Docker Root Dir: /var/lib/docker
Debug Mode: false
Registry: https://index.docker.io/v1/
Labels:
Experimental: false
Insecure Registries:
192.168.18.230:80
127.0.0.0/8
Live Restore Enabled: false
三:国内镜像仓库的使用
1.国内镜像站
2.国外镜像站
3.镜像加速器
使用 Docker 的时候,需要经常从官方获取镜像,但是由于显而易见的网络原因,拉取镜像的过程非常耗时,严重影响使用 Docker 的体验。因此 DaoCloud 推出了加速器工具解决这个难题,通过智能路由和缓存机制,极大提升了国内网络访问 Docker Hub 的速度,目前已经拥有了广泛的用户群体,并得到了 Docker 官方的大力推荐
4.登陆登出Docker Hub
登录到自己的Docker register,需有Docker Hub的注册账号
[root@xingdian ~]# docker login
Login with your Docker ID to push and pull images from Docker Hub. If you don't have a Docker ID, head over to https://hub.docker.com to create one.
Username: 17343051369
Password:
Login Succeeded
logout Log out from a Docker registry
退出登录
# docker logout
Remove login credentials for https://index.docker.io/v1/
四:Docker使用
1.镜像操作
查看centos所有的镜像:
[root@xingdian ~]# docker search centos
注意:
凡是镜像大于100的显示出来,小于100的不显示
[root@xingdian ~]# docker search centos --filter=stars=100
OFFICIAL [OK]代表官方的
AUTOMATED [OK]代表完整的镜像
拉取镜像:
[root@xingdian ~]# docker pull centos
[root@xingdian ~]# docker pull daocloud.io/library/centos:7.8.2003
查看本地镜像:
[root@xingdian ~]# docker image list
[root@xingdian ~]# docker images
[root@xingdian ~]# docker image ls
查看镜像详情:
[root@xingdian ~]# docker image inspect 镜像id
删除镜像:
注意:删除一个或多个,多个之间用空格隔开,可以使用镜像名称或id
[root@xingdian ~]# docker rmi daocloud.io/library/mysql
强制删除:--force
如果镜像正在被使用中可以使用--force强制删除
[root@xingdian ~]# docker rmi docker.io/ubuntu:latest --force
删除所有镜像:
[root@xingdian ~]# docker rmi $(docker images -q)
#-q查出所有id号
只查看所有镜像的id:
[root@xingdian ~]# docker images -q
2.容器操作
启动容器并指定名为server并放后台运行
[root@xingdian ~]# docker run --name server -it -d centos:latest /bin/bash
使用镜像 nginx:latest,以后台模式启动一个容器,将容器的 80 端口映射到主机的 80 端口,主机的目录 /data 映射到容器的 /data
[root@blackmed ~]# docker run -p 80:80 -v /data:/data -d nginx:latest
使用镜像nginx:latest以交互模式启动容器,容器内执行/bin/bash命令
[root@blackmed ~]# docker run -it nginx:latest /bin/bash
参数:
• -v:文件映射,格式为:主机目录:容器目录
• -d: 后台运行容器,并返回容器ID;
• -i: 以交互模式运行容器,通常与 -t 同时使用;
• -p: 端口映射,格式为:主机(宿主)端口:容器端口
• -t: 为容器重新分配一个伪输入终端,通常与 -i 同时使用;
• --name="nginx-lb": 为容器指定一个名称;
• --dns 8.8.8.8: 指定容器使用的DNS服务器,默认和宿主一致;
• --dns-search example.com: 指定容器DNS搜索域名,默认和宿主一致;
• -h "mars": 指定容器的hostname;
• -e username="ritchie": 设置环境变量;
• --cpuset-cpus="0-2" or --cpuset-cpus="0,1,2": 绑定容器到指定CPU运行;
--privileged 以特权模式运行
3.查看容器
只查看运行状态的容器:
[root@xingdian ~]# docker ps
[root@xingdian ~]# docker ps -a
-a 查看所有容器
只查看所有容器id:
[root@xingdian ~]# docker ps -a -q
列出最近一次启动的容器
[root@xingdian ~]# docker ps -l
查看容器详细信息:
[root@xingdian ~]# docker inspect 1fbf6
[
{
"Id": "1fbf6d9c50217c0f630fec1f98c6647e38e2371af94f2860d34674eeffd42f84",
"Created": "2020-08-12T15:52:39.064893415Z",
"Path": "/docker-entrypoint.sh",
"Args": [
"nginx",
"-g",
"daemon off;"
],
"State": {
"Status": "running",
"Running": true,
"Paused": false,
"Restarting": false,
容器信息很多,这里只粘贴了一部分
4.启动容器
[root@xingdian ~]# docker start name
5.关闭容器
[root@xingdian ~]# docker stop name
退出不关闭:
快捷键:ctrl +p+q
6.删除容器
[root@xingdian ~]# docker rm 容器id或名称
要删除一个运行中的容器,添加 -f 参数
根据格式删除所有容器:
[root@xingdian ~]# docker rm $(docker ps -a -q)