安装docker
- 虚拟机系统地址: http://mirrors.aliyun.com/centos/7/isos/x86_64/CentOS-7-x86_64-DVD-2009.iso
- 安装时选择最小安装
- 使用virtual box安装完成后的虚拟机版本
- 设置yum源稳定仓库(阿里云)
[root@localhost ~]# yum-config-manager \ --add-repo \ http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
yum-config-manager找不到命令时安装即可
yum -y install yum-utils - 查看可安装的docker版本
此处选择了[root@localhost ~]# yum list docker-ce --showduplicates | sort -r
18.06.3-ce
稳定版
安装后加入开机启动服务[root@localhost ~]# yum install docker-ce-18.06.3.ce
[root@localhost ~]# systemctl start docker [root@localhost ~]# systemctl enable docker
- 查看
docker
信息[root@localhost ~]# docker version Client: Version: 18.06.3-ce API version: 1.38 Go version: go1.10.3 Git commit: d7080c1 Built: Wed Feb 20 02:26:51 2019 OS/Arch: linux/amd64 Experimental: false Server: Engine: Version: 18.06.3-ce API version: 1.38 (minimum version 1.12) Go version: go1.10.3 Git commit: d7080c1 Built: Wed Feb 20 02:28:17 2019 OS/Arch: linux/amd64 Experimental: false
Docker常用命令
docker ps -a #查看所有的容器
docker ps #查看运行中的容器
docker stop container_id #停止指定id的容器 多个以空格分隔
docker start container_id #开启容器,多个以空格分隔
docker restart container_id #重启容器,多个以空格分隔
docker rm container_id #删除容器 多个以空格分隔
docker rmi IMAGE ID # 删除镜像
docker exec -it container_id /bin/bash #进入容器,并继续bash命令行交互
#批量停止
docker stop `docker ps | awk 'NR!=1{print $1}'`
#批量启动(只启动redis)
docker restart `docker ps -a | grep redis- | awk '{print $1}'`
docker logs container_name #查看log
#清除无效的none标签镜像
docker rmi $(docker images -f "dangling=true" -q)
docker exec -it redis-master1 /bin/bash #进入容器
docker拉取镜像举例
[root@localhost ~]# docker pull nacos/nacos-server:v1.4.3
docker启动镜像举例
docker run \
--name nacos \
-p 8848:8848 \
-v /opt/nacos-mapping/logs:/nacos/logs \
--privileged=true \
--restart=always \
-e MODE=standalone \
-e JVM_XMS=256m \
-e JVM_XMX=256m \
-e JVM_XMN=256m \
-d nacos/nacos-server:v1.4.3
-v 挂载文件
--restart=always 随容器重启
-e 外部参数
-d 后台启动
-p host:container 端口映射,宿主端口:容器端口
以下命令可以更新容器的状态为随docker自动重启
docker update containerId --restart=always
防火墙相关
[root@localhost ~]# firewall-cmd --zone=public --add-port=2375/tcp --permanent
success
[root@localhost ~]# firewall-cmd --reload
success
[root@localhost ~]# firewall-cmd --list-ports
7001/tcp 7002-7006/tcp 3306/tcp 8848/tcp 2375/tcp