Connect to the MySQL on Docker with CMD

I connect to the bash into the running MySQL container:

$ docker exec -t -icontainer_mysql_name/bin/bash

-i is the shortcut for --interactive option. This options is used for keep STDIN open even if not attached

-t is the shortcut for --tty option, used to allocate a pseudo-TTY

I run MySQL client from bash MySQL container:

$ mysql -uroot -proot

-u is shortcut for --user=name option, used to define user for login if not current user.

-p is shortcut for -password[=name] option, used to define password to use when connecting to server. If password is not given it’s asked from the tty.

or

$ docker exec -t -i container_mysql_name /bin/bash -c "mysql -uroot -proot"

Start a mongodb shell in docker container

You can run the interactive mongo shell by running the following command:

docker run -it -p 28000:27017 --name mongoContainer mongo:latest mongo

Otherwise, if your container is already running, you can use the exec command:

docker exec -it mongoContainer mongo

or


docker pull mongo
docker run --name CONTAINERNAME --restart=always -d -p 8080:8080 mongo mongod --auth
sudo docker exec -i -t CONTAINERNAME bash
mongo
use admin
db.createUser({user:"user", pwd:"password", roles:[{role:"root", db:"admin"}]})
exit && exit

Now you have created a running Docker container with everything you need. Now if you want to connect from any client with an admin user, just run this

mongo -u "user" -p "password" HOSTIP --authenticationDatabase "admin"

docker cmd

install php:7.0.10-apache none map share folder

docker run --name php7.0.10 -d -p 80:80 php:7.0.10-apache

install php:7.0.10-apache map share folder

docker run --name php7.0.10 -d -p 80:80 -v /Users/tmac/www/:/var/www/html/ php:7.0.10-apache

ลองตรวจสอบว่ามี Container ตัวไหนรันอยู่บ้าง

docker ps

Stop container

docker stop php7.0.10

ดูรายการ container ทั้งหมดที่มีอยู่ในเครื่อง

docker ps -a

Remove container

docker rm php7.0.10

Start container

docker start php7.0.10

ดู ip ของ Docker Machine

docker-machine ls

SSH เข้าไปที่ Docker Machine

docker-machine ssh default

การสร้าง Container

docker run --name demo -d -p 8080:80 -v /home/me:/home/docker image

ตัวอย่าง

docker run --name myweb -p 8080:80 -v /myweb:/var/www/html -d nginx

คำสั่งอาจจะดูยาวหน่อย เพราะคำสั่ง docker run จะต้องมีการใส่ option เข้าไปด้วย

--name demo คือ การตั้งชื่อให้กับ container โดยเมื่อเราใช้คำสั่ง start stop หรือ rm สามารถสั่งงาน container ได้จากชื่อ container ได้เช่นกัน
-d เป็นการสั่ง contianer ให้รันแบบ background
-v /home/me:/home/docker คือการ mount volume หรือเป็นการแชร์ไฟล์ระหว่าง container กับเครื่องเราให้สามารถเรียกใช้ไฟล์ร่วมกันได้
-p 8080:80 เป็นการ map port ระหว่างเครื่อง และ container เช่น อย่าง container ของ nginx จะใช้ port 80 เป็น default หากต้องการให้เครื่องใช้ port 8080 เราก็กำหนดให้เป็น -p 8080:80
image ชื่อของ Docker image ที่เราต้องการเรียกใช้ (จากตัวอย่างจะใช้ nginx เป็น image)

 

ที่มา: การใช้งาน Docker เบื้องต้น