pycham新增qt-designer與pyuic
阿新 • • 發佈:2020-12-02
title: docker入門
tags:
- docker
categories: - docker
abbrlink: 37956
date: 2020-08-29 18:32:34
docker入門
docker安裝
安裝步驟
yum install -y epel-release yum install -y docker-io /etc/sysconfig/docker // 7 yum install -y yum-utils device-mapper-persistent-data lvm2 systemctl daemon-reload systemctl restart docker { "registry-mirrors": ["https://c0iennz9.mirror.aliyuncs.com"] }
常用命令(本地)
docker images -a顯示所有映象 -q查詢id --digests 顯示摘要資訊 --no-trunc顯示完整的映象資訊 docker search -s 檢視star大於某值的映象 --automated docker pull xxx xxx 可單個可多個刪除 -f強制刪除 # docker rmi -f ${docker images -q} docker run -it xxx -i表示互動 -t表示偽終端 --name newname oldname表示起別名 -d守護(後臺執行) -p 8080:8080 埠對映 -P表示隨機分配(需要在ps裡面看埠) 使用exit停止 ctrl+P+Q退出不停止 停了之後開啟是 start docker ps 列出當前執行的所有容器 -a所有的(包括歷史) -l上次 -n xx 上幾次的 start stop restart kill docker rm刪除執行的例項(rmi為刪除對應的映象,必須先刪除所有例項) # docker ps -a | grep hello-world | awk '{print $1}' | xargs docker rm # docker run -d hello-world /bin/sh -c 'while true;do echo hello;sleep 3;done' docker logs -t -f --tail #檢視容器內程序 docker top id docker inspect id #重新進入已啟動的容器內 docker attach id docker exec id your_want_commands(run in repo) 可以用-it 等run命令 # docker exec -it id /bin/bash docker cp 拷貝檔案 docker cp id:/tmp/filename /targetpath/targetfile
常用命令(上傳)
docker commit -a="author" -m="commit message" id new_name:tagname
# 檔案對映,兩邊資料共享(即便容器關閉也共享)
docker run -it -v /host/filepath:/container/filepath id
# 許可權相關操作暫無,後續補充
sudo docker run -itd -p 3308:3306 --privileged --name myCentos centos /usr/sbin/init
dockerFile
docker build -f /home/docker/dockerfile-test -t mycentos . 可選:--privileged=true --volumes-form origin_container # 繼承卷,用於實現資料共享
每條保留字必須為大寫且必須存在引數,指令為從上倒下執行,每個指令都會建立一個映象
- FROM scratch(最源映象)
- MAINTAINER 作者和映象描述
- RUN 構建時的命令
- EXPOSE 開放的埠號
- WORKDIR 預設終端的登陸目錄,一個落腳點
- ENV 環境變數
ENV MY_PATH /use/mytest
->WORKDIR $MY_PATH
- ADD 與COPY ,ADD包括解壓縮功能
- VOLUME 建立容器卷
- CMD 指定執行命令,只有一個生效,且會被docker run裡面的引數替換
- ENTRYPOINT 會在docker run追加
- ONBULID 被繼承的dockerfile,父映象在被子映象繼承後,父映象的ONBULID會被觸發
- USER
FROM centos
ENV MY_PATH /tmp
WORKDIR $MY_PATH
RUN yum -y install vim
EXPOSE 80
CMD /bin/bash
# docker history images_id
docker build -f dockerfile_path -t images_name .
修改mysql預設路徑
為了方便日後管理,以及初始化資料庫,重新設定mysql的data路徑
mkdir -p /home/data
mkdir -p /home/logs
chown -R mysql:mysql /home/data
chown -R mysql:mysql /home/logs
chmod -R 755 /home
chmod -R 755 /home/data
chmod -R 755 /home/logs
1234567
4、修改mysql配置檔案
cd /etc/mysql/
vi my.cnf
12
配置檔案中在[mysqld]下增加
[mysqld]
datadir=/home/data
log-error=/home/logs/error.log
lower_case_table_names=1
注意:該操作完成後千萬不要重啟docker,否則將無法啟動
5、重新初始化資料庫
/usr/sbin/mysqld --user=mysql --lower-case-table-names=1 --initialize-insecure --basedir=/usr/local/mysql --datadir=/home/data
這裡要等待一段時間
初始化完成後可以檢視日誌,主要預設的root密碼為空。
vi /home/logs/error.log
該步驟完成後,重啟docker,如果沒有失敗說明設定已經生效。
show variables like '%table_names'
新增使用者
由於預設初始化的’root’@‘localhost’ 使用者是不能遠端訪問的。
如果想建立一個遠端訪問的root使用者可以使用建立語句進行建立
mysql> CREATE USER 'root'@'%' IDENTIFIED BY '密碼';
mysql> GRANT ALL ON *.* TO 'root'@'%' WITH GRANT OPTION;
mysql> FLUSH PRIVILEGES;
#備份資料庫
docker exec 49ed5fefc54e mysqldump --all-databases -u root -p123456 > mysql.sql