docker的安装
环境准备
配置yum源并安装docker
服务器ip 192.168.1.31
关闭防火墙
步骤一:docker镜像
1)配置IP
[root@docker1 ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth0
# Generated by dracut initrd
DEVICE="eth0"
ONBOOT="yes"
IPV6INIT="no"
IPV4_FAILURE_FATAL="no"
NM_CONTROLLED="no"
TYPE="Ethernet"
BOOTPROTO="static"
IPADDR="192.168.1.31"
PREFIX=24
GATEWAY=192.168.1.254
2)安装docker并设置开机自启动
[root@docker1 ~]# yum -y install docker
[root@docker1 ~]# systemctl restart docker
[root@docker1 ~]# systemctl enable docker
镜像的基本使用
1)下载镜像
[root@docker1 ~]# docker pull docker.io/busybox
[root@docker1 bulid]# docker pull docker.io/busybox
Using default tag: latest
2)上传镜像
[root@docker1 ~]# docker push docker.io/busybox
3)查看镜像
[root@docker1 ~]# docker images
4)查找busybox镜像
[root@docker1 ~]# docker search docker.io/busybox
5)导出busybox镜像为busybox.tar
[root@docker1 ~]# docker save docker.io/busybox:latest -o busybox.tar
[root@docker1 ~]# ls
busybox.tar
6)导入镜像
[root@docker1 ~]# scp nginx.tar root@192.168.1.32:/root
[root@docker1 ~]# ls
nginx.tar
[root@docker1 ~]# docker load -i nginx.tar
[root@docker1 ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
docker.io/nginx latest 42b4762643dc 4 weeks ago 109.2 M e1ddd7948a1c 4 weeks ago 1.163 MB
7)删除镜像
[root@docker1 docker]# docker rmi docker.io/nginx #默认是标签是latest
步骤二:一次性导入多个镜像
[root@docker1 docker]# ls
centos.tar nginx.tar redis.tar registry.tar ubuntu.tar
[root@docker1 docker]# for i in * ; do docker load -i $i; done
步骤三:启动镜像
[root@docker1 docker_images]# docker run -it docker.io/centos /bin/bash
#可以看到主机名已经改变,说明已经在容器中
[root@7a652fc72a9f /]# ls /
anaconda-post.log bin dev etc home lib lib64 media mnt opt proc root run sbin srv sys tmp usr var
在容器中配置yum源并装软件
[root@7a652fc72a9f yum.repos.d]# rm -rf C*
[root@7a652fc72a9f yum.repos.d]#vi dvd.repo //在容器里面配置一个yum源
[local]
name=local
baseurl=ftp://192.168.1.254/system
enable=1
gpgcheck=0
[root@7a652fc72a9f yum.repos.d]# yum -y install net-tools //安装软件
[root@7a652fc72a9f yum.repos.d]# exit
exit
镜像和容器的常用指令
1)查看后台运行的容器
#启动nginx的镜像
[root@docker1 docker]# docker run -d docker.io/nginx
#查看后台运行的容器
[root@docker1 docker]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
81458156f6e8 docker.io/nginx "nginx -g 'daemon off" 9 seconds ago Up 8 seconds 80/tcp pedantic_goldberg
2)查看容器的ID
[root@docker1 docker]# docker ps -q
81458156f6e8
3)显示所有容器(包括未启动的容器)
[root@docker1 docker]# docker ps -a
4)显示所有的容器ID
[root@docker1 docker]# docker ps -qa
81458156f6e8
3656f1978967
5)查看镜像的历史,也就是制作过程
[root@docker1 docker_images]# docker history docker.io/centos
6)删除镜像,启动容器时无法删除镜像,必须先删除容器后删除镜像
[root@docker1 docker]# docker rmi nginx //nginx为镜像名
Error response from daemon: conflict: unable to remove repository reference "nginx" (must force) - container 81458156f6e8 is using its referenced image 42b4762643dc
#容器ID只要唯一就不需要完整ID
[root@docker1 docker]# docker stop 81
81
[root@docker1 docker]# docker rm 81
81
[root@docker2 ~]# docker rmi docker.io/nginx //删除nginx镜像
7)修改镜像名称和标签,默认标签为latest
[root@docker1 docker_images]# docker tag docker.io/centos:latest docker.io/cen:v1
[root@docker2 ~]# docker images
8)查看镜像底层信息
[root@docker1 docker_images]#docker inspect docker.io/centos
容器命令
注意:容器id只要到了唯一标识的地方即可,无需完整ID
1)关闭容器
[root@docker1 docker]# docker stop 0f #0f为容器ID
0f
2)启动容器
[root@docker1 docker]# docker start 0f
0f
3)重启容器
[root@docker1 docker]# docker restart 0f
of
4)删除容器
删除容器确保属于关闭的状态
[root@docker1 docker]# docker rm 0f
5)连接容器attach|exec
[root@docker1 docker]# docker attach 0f
[root@docker1 docker]# docker exec -it 0f /bin/bash
来源:CSDN
作者:linux_lsh
链接:https://blog.csdn.net/tomcat_lsh/article/details/104519958