目录
基础命令
1、卸载旧版本
$ sudo yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine
2、设置仓库
在新主机上首次安装 Docker Engine-Community 之前,需要设置 Docker 仓库。之后,您可以从仓库安装和更新 Docker
$ sudo yum install -y yum-utils \
device-mapper-persistent-data \
lvm2
3、配置阿里云镜像仓库地址
$ sudo yum-config-manager \
--add-repo \
http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
4、安装docker
$ sudo yum install docker-ce docker-ce-cli containerd.io
5、启动docker
$ sudo systemctl start docker
6、卸载docker
yum remove docker-ce
7、获取镜像
$ docker pull ubuntu
8、启动容器(后台运行)
$ docker run -itd --name ubuntu-test ubuntu /bin/bash
9、启动/停止/重启 容器
$ docker ps -a
$ docker start b750bbbcfd88
$ docker stop <容器 ID>
$ docker restart <容器 ID>
10、进入/退出容器
docker exec -it 243c32535da7 /bin/bash
exit
11、导出/导入容器
$ docker export 1e560fca3906 > ubuntu.tar
$ cat docker/ubuntu.tar | docker import - test/ubuntu:v1
12删除容器
$ docker rm -f 1e560fca3906
删除所有容器
rm $(docker ps -aq)
13、镜像列表
docker images
14、删除镜像
$ docker rmi hello-world
15、更新镜像
#更新镜像之前,我们需要使用镜像来创建一个容器。
runoob@runoob:~$ docker run -t -i ubuntu:15.10 /bin/bash
root@e218edb10161:/#
#在运行的容器内使用 apt-get update 命令进行更新。
#在完成操作之后,输入 exit 命令来退出这个容器。
#此时 ID 为 e218edb10161 的容器,是按我们的需求更改的容器。我们可以通过命令 docker commit 来提交容器副本。
runoob@runoob:~$ docker commit -m="has update" -a="runoob" e218edb10161 runoob/ubuntu:v2
sha256:70bf1840fd7c0d2d8ef0a42a817eb29f854c1af8f7c59fc03ac7bdee9545aff8
使用我们的新镜像 runoob/ubuntu 来启动一个容器
runoob@runoob:~$ docker run -t -i runoob/ubuntu:v2 /bin/bash
root@1a9fbdeb5da3:/#
16、端口映射
runoob@runoob:~$ docker run -d -p 5000:5000 training/webapp python app.py
33e4523d30aaf0258915c368e66e03b49535de0ef20317d3f639d40222ba6bc0
17、阿里云镜像加速器
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://ezvxz44k.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
软件安装
安装mysql
拉取官方的最新版本的镜像:
$ docker pull mysql:5.6
运行容器
docker run -p 3306:3306 --name mysql -v /mydata/mysql/log:/var/log/mysql -v /mydata/mysql/data:/var/lib/mysql -v /mydata/mysql/conf:/etc/mysql -e MYSQL_ROOT_PASSWORD=root -d mysql:5.6 --lower_case_table_names=1
安装redis
拉取官方的最新版本的镜像:
$ docker pull redis:latest
启动容器
docker run -p 6379:6379 --name redis -v /mydata/redis/data:/data -v /mydata/redis/conf/redis.conf:/etc/redis/redis.conf -d redis redis-server /etc/redis/redis.conf
安装Nginx
拉取官方的最新版本的镜像:
$ docker pull nginx:latest
启动容器
docker run --name nginx -d -p 80:80 -v /mydata/nginx/conf/nginx.conf:/etc/nginx/nginx.conf -v /mydata/nginx/logs:/var/log/nginx -d nginx
安装nacos
mysql导入初始数据nacos-mysql.sql,可从官网下载
#搜索nacos的镜像
docker search nacos
#拉取nacos镜像,不指定版本就是latest版本
#docker pull nacos/nacos-server:2.0.3
docker pull nacos/nacos-server
#查看有没有镜像
docker images
#新建logs目录 (根据实际情况创建)
mkdir -p /mydata/docker/nacos/logs/
#新建配置文件
mkdir -p /mydata/docker/nacos/conf/application.properties
#编辑文件
vim application.properties
spring.datasource.platform=mysql
db.num=1
db.url.0=jdbc:mysql://192.168.2.19:3306/nacos?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&serverTimezone=Asia/Shanghai
db.user=root
db.password=root
docker run --name nacos -d -p 8848:8848 --privileged=true --restart=always -e JVM_XMS=256m -e JVM_XMX=256m -e MODE=standalone -e PREFER_HOST_MODE=hostname -v /mydata/docker/nacos/logs:/home/nacos/logs -v /mydata/docker/nacos/conf/application.properties:/home/nacos/conf/application.properties nacos/nacos-server
#查看已经启动的容器
docker ps
#查看全部容器
docker ps -a
http://192.168.xx.xx:8848/nacos/
默认账号和密码都是nacos
进入控制台,添加用户后可在mysql的user表中看到
安装nginx
#下载镜像
docker pull nginx:1.10
#先启动一个测试容器用来复制配置文件
docker run --name nginx-test -p 80:80 -d nginx:1.10
#将容器中的文件复制到本机
docker container cp nginx-test:/etc/nginx .
#将复制的名字修改为conf
mv nginx/ conf
#停止测试容器
docker stop nginx-test
#删除测试容器
docker rm -f nginx-test
#创建新的容器 并挂载目录
docker run -p 80:80 --name nginx -v /mydata/nginx/conf:/etc/nginx -v /mydata/nginx/html:/usr/share/nginx/html -v /mydata/nginx/logs:/var/log/nginx -d nginx:1.10