【Docker安装】

一、安装

安装方法

问题1:docker.service:Unit not found
解决方法:
创建文件 /usr/lib/systemd/system/docker.socket

 touch /usr/lib/systemd/system/docker.socket

启动:

systemctl daemon-reload
systemctl start docker.service

开启自启:

systemctl enable docker

二、国内镜像地址更换

  1. 编辑 /etc/docker/daemon.json 配置文件
创建配置文件目录
$ sudo mkdir /etc/docker

编辑配置文件,如果文件不存在,以下命令会自动创建。
$ sudo nano /etc/docker/daemon.json

将配置信息粘贴到配置文件中,配置信息为 json 格式,可以根据实际需要设置多个国内的镜像服务器。
{
  "registry-mirrors": [
    "https://almtd3fa.mirror.aliyuncs.com",
    "https://hub-mirror.c.163.com",
    "https://mirror.baidubce.com"
  ]
}
  1. 重启 Docker 服务
$ sudo systemctl daemon-reload 
$ sudo systemctl restart docker
  1. 检查设置是否生效
$ sudo docker info

结果中显示了我们设置的镜像服务器地址,则说明设置已经生效,返回的信息类似下面这样:

Registry Mirrors:
  https://almtd3fa.mirror.aliyuncs.com,
  https://hub-mirror.c.163.com,
  https://mirror.baidubce.com

三、常用命令

1、运行容器

docker run
-d
–restart
-p 9000:9000
-v /var/run/docker.sock:/var/run/docker.sock
–name container-name:tag
image-name

说明:

  • -d 后台运行
  • –restart 容器自启动
  • -p 端口映射,外部端口:容器内部端口
  • -v 文件或路径映射
  • –name 容器名称
  • 运行的镜像

2、进入容器

sudo docker exec -it 容器 /bin/bash

四、可视化界面(portainer)

安装:

docker pull portainer/portainer

启动:

docker run -d -p 9000:9000 \
--restart=always \
-v /var/run/docker.sock:/var/run/docker.sock \
--name prtainer-test \
docker.io/portainer/portainer

端口占用查看

netstat -tunlp | grep 端口号

五、常用命令

docker ps // 查看所有正在运行容器
docker stop containerId // containerId 是容器的ID

docker ps -a // 查看所有容器
docker ps -a -q // 查看所有容器ID

docker stop $(docker ps -a -q) //  stop停止所有容器
docker  rm $(docker ps -a -q) //   remove删除所有容器
docker exec -it 44fc0f0582d9 /bin/bash // 进入容器
docker restart <container_id/name>     // 重启容器

#本机和容器直接文件拷贝
docker cp 本地文件路径 ID全称:容器路径
#容器文件拷贝到本地
docker cp ID全称:容器文件路径 本地路径
docker update --restart=always 容器    // 设置容器自动启动

六、容器迁移(容器镜像迁移)

注:此方法,数据卷不会被迁移,需要手动迁移。但它会保留在容器内创建的应用程序的数据。

  • 1、容器保存为镜像
# 命令格式:
	docker commit [OPTIONS] CONTAINER [REPOSITORY[:TAG]]
# 命令参数(OPTIONS):
	-a, --author string    	作者
	-c, --change list      	为创建的镜像加入Dockerfile命令
	-m, --message string   	提交信息,类似git commit -m
	-p, --pause            	提交时暂停容器 (default true)
# 备份镜像
docker commit 容器名字/id号 镜像名字
docker commit mynginx mynginx_i
# 查看镜像
docker images
  • 2、将镜像保存为tar文件,把镜像打包成压缩包
docker save -o 保存位置/压缩包名字 镜像名字
docker  save -o /tmp/mysql.tar mynginx_i
  • 3、加载镜像
# 作用:
	从一个tar文件中导入内容创建一个镜像,把压缩包恢复为镜像
# 命令演示:
docker load -i mynginx.tar

nginx dokcer 服务转发

七、数据迁移

  • 原始数据备份
  • 数据还原

1、mysql 迁移

  • 查看数据保存位置: docker inspect mysql | grep Mounts -A 20
    数据
  • 原始数据库,数据备份。

docker cp mysql:/var/lib/docker/volumes/0d7e6ef152346eb142126e802dc92a297a24bbd9516bde769e00da14d995802a/_data /tmp/mysql/data

  • 新服务器拉取mysql

docker pull mysql:latest

  • 安装mysql,并挂载备份的数据

docker run -d --name mysql -p 33306:3306 -v /usr/local/src/docker/mysql/data/:/var/lib/mysql mysql:latest

注:-v 本地目录:容器内目录

2、wordpress 迁移

  • 数据库迁移(见1)
  • wordpress 数据备份(主题、插件…)

docker cp wordpress:/var/www/html/wp-content /tmp/wordpress/wp-content

  • 新服务器wordpress镜像下载(注意版本兼容性)

wordpress:latest

  • 创建wordpress容器及 备份数据挂接

docker run -d --name wordpress-ikaros --restart=always --link mysql -p 8080:80 -v /usr/local/src/docker/wordpress/wp-content wordpress
输入网址 ip:端口号,开始配置数据库信息

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值