Docker 安装以及常用命令 (手动安装)

删除旧版本的docker,防止有残留

yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine

安装可能用到的依赖

yum install -y yum-utils \
device-mapper-persistent-data \
lvm2

添加位置

sudo yum-config-manager \
--add-repo \
https://download.docker.com/linux/centos/docker-ce.repo

查询可以装什么docker版本

yum list docker-ce --showduplicates | sort -r

安装指定版本(或者安装最新版本)

yum -y install docker-ce-18.06.1.ce-3.el7

yum install docker-ce docker-ce-cli containerd.io
```

**设置开机自启动**

```markdown
systemctl enable docker

查看docker状态

systemctl status docker

停止docker

systemctl stop docker

查看版本

docker version

启动docker

systemctl start docker

重启docker

systemctl restart docker

配置国内镜像

 vi /etc/docker/daemon.json

然后配置一下内容:

{
"registry-mirrors": [
"https://kfwkfulq.mirror.aliyuncs.com",
"https://2lqq34jg.mirror.aliyuncs.com",
"https://pee6w651.mirror.aliyuncs.com",
"https://registry.docker-cn.com",
"http://hub-mirror.c.163.com"
],
"dns": ["8.8.8.8","8.8.4.4"]
}

常见问题(需要手动在etc下创建docker文件夹,并在该文件下面创建daemon.json文件

搜索docker镜像

docker search 镜像名

拉去docker镜像

docker pull 镜像名   或者   docker pull 镜像名:版本号

删除镜像(镜像名和id都可以删除)

docker rmi 镜像id

查看当前docker中所有拉取的镜像

docker images      或者     docker image ls

查看所有的容器(包括已经停止的)

docker ps -a

查看运行中的容器

docker ps

启动容器

docker start <容器名 or ID>

停止运行中的容器

docker stop <容器名 or ID>

重启运行中的容器

docker restart <容器名 or ID>

删除指定容器

docker rm <容器名 or ID>

给容器自定义一个名字

docker run --name 自定义镜像名 -d 镜像名:latest

示例:docker run --name mytomcat -d tomcat:latest

更改docker配置

systemctl daemon-reload

删除所有容器

docker rm $(docker ps -a -q)

杀死指定容器

docker kill <容器名 or ID>

后台运行

docker run -d <Other Parameters>

例如

docker run -d -p 127.0.0.1:33301 centos6-ssh

暴露端口
 

一共有三种形式进行端口映射

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端口

查看容器日志

dopcker logs <容器名 or ID>

Docker 安装Mysql并开启远程连接

查看可用的mysql版本(第一种)

可以通过 Sort by 查看其他版本的 MySQL,默认是最新版本 mysql:latest 访问MySQL镜像库地址

Docker
Docker

我们还可以用命令来查看可用版本(第二种)

docker search mysql

Docker

拉取mysql镜像(这里拉取的是最新版)

docker pull mysql:latest

查看是否拉取成功(查看本地镜像)

docker images

Docker

运行mysql容器

docker run -itd --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=TongTong mysql

-p 3306:3306 :映射容器服务的 3306 端口到宿主机的 3306 端口,外部主机可以直接通过 宿主机ip:3306 访问到 MySQL 的服务。

MYSQL_ROOT_PASSWORD=123456:设置 MySQL 服务 root 用户的密码。

Docker

查看是否安装成功

docker ps

Docker

进入容器

docker exec -it mysql bash

进入mysql(修改密码)

mysql -u root -p

ALTER USER 'root'@'localhost' IDENTIFIED BY 'Lzslov123!';

Docker

添加远程登录

CREATE USER 'liaozesong'@'%' IDENTIFIED WITH mysql_native_password BY 'Lzslov123!';

GRANT ALL PRIVILEGES ON *.* TO 'liaozesong'@'%';

Docker


Docker 安装Nginx

查看可用的nginx版本(第一种)

可以通过 Sort by 查看其他版本的 nginx,默认是最新版本 nginx:latest 访问nginx镜像库地址

Docker
Docker

我们还可以用命令来查看可用版本(第二种)

docker search nginx

Docker

拉取nginx镜像(这里拉取的是最新版)

docker pull nginx:latest

查看是否拉取成功(查看本地镜像)

docker images

Docker

运行nginx容器

docker run --name nginx -p 8080:80 -d nginx

--name nginx:容器名称。

-p 80:80: 端口进行映射,将本地 80 端口映射到容器内部的 80 端口。

-d nginx: 设置容器在在后台一直运行。

安装成功

最后我们可以通过浏览器可以直接访问 80 端口的 nginx 服务

Docker


Docker 安装Tomcat

查看可用的tomcat版本(第一种)

可以通过 Sort by 查看其他版本的 tomcat,默认是最新版本 tomcat:latest 访问Tomcat镜像库地址

Docker

我们还可以用命令来查看可用版本(第二种)

docker search tomcat

Docker

拉取tomcat镜像(这里拉取的是最新版)

docker pull tomcat:latest

查看是否拉取成功(查看本地镜像)

docker images  或者  docker images|grep tomcat

Docker

运行tomcat容器

docker run --name tomcat -p 8080:8080 -d tomcat

--name tomcat:容器名称

-p 8080:8080: 端口进行映射,将本地 8080 端口映射到容器内部的 8080 端口。

-d tomcat:设置容器在在后台一直运行。

问题解决(tomcat 404问题)

使用命令: docker exec -it 运行的<容器名 or ID> /bin/bash 进入到tomcat的目录

使用命令:ls -l 查看tomcat下面的所有文件夹

Docker

cd webapps 查看 ls -l (发现没有文件)

Docker

cd ../ 退出来

cd webapps.dist 查看 ls -l (发现有文件)

Docker

cd ../ 退出来

使用命令:rm -rf webapps 删除webapps这个空文件夹

Docker

使用命令:mv webapps.dist webapps 修改webapps.dist文件夹的名字

Docker

查看是否成能访问

Docker

但是,这还没有提交的话,在镜像重启后,又会报404错误,所以我们commit一下(注:mytomcat为重新起的镜像名)

exit 退出tomcat镜像

Docker

使用命令:dockers ps 查看运行中的镜像

使用命令:docker commit (镜像ID) mytomcat 提交到我的镜像

使用命令:docker images 查看镜像(mytomcat)

Docker

重新运行tomcat镜像 docker run –name mytomcat -p 8080:8080 -d mytomcat


Docker 安装Redis

查看可用的redis版本(第一种)

可以通过 Sort by 查看其他版本的 redis,默认是最新版本 redis:latest 访问Redis镜像库地址

Docker
Docker

我们还可以用命令来查看可用版本(第二种)

docker search redis

Docker

拉取redis镜像(这里拉取的是最新版)

docker pull redis:latest

查看是否拉取成功(查看本地镜像)

docker images  或者  docker images|grep redis

Docker
运行redis容器

docker run -itd --name redis -p 6379:6379 redis

-p 6379:6379:映射容器服务的 6379 端口到宿主机的 6379 端口。外部可以直接通过宿主机ip:6379 访问到 Redis 的服务。

安装成功

最后我们可以通过 docker ps 命令查看容器的运行信息

Docker

接着我们通过 redis-cli 连接测试使用 redis 服务。

docker exec -it redis /bin/bash

Docker

设置密码

进入redis目录 cd /usr/local/bin

运行命令 redis-cli

查看现有密码 config get requirepass

设置redis密码config set requirepass **** (****为你要设置的密码)

Docker